0); $fna = mb_split('\\/', $r['url']); $filename = end($fna); if (mb_substr($picdir, -1, 1) != '/') $path = $picdir . "/"; else $path = $picdir; if ($archived) @rename($path . $filename, $path . "deleted/" . $filename); else @unlink($path . $filename); $path .= mb_strtoupper(mb_substr($filename, 0, 1)) . '/' . mb_strtoupper(mb_substr($filename, 1, 1)) . '/'; @unlink($path . $filename); // Thumb /* lib2 code would be ... $rs = sql("SELECT `id` FROM `pictures` WHERE `object_type`=1 AND `object_id`='&1'", $log_id); while ($r = sql_fetch_assoc($rs)) { $pic = new picture($rs['id']); $pic->delete(); } sql_free_result($rs); */ } sql_free_result($rs); // move to archive, even if own log (uuids are used for OKAPI replication) sql("INSERT IGNORE INTO `cache_logs_archived` SELECT *, NOW() AS `deletion_date`, '&2' AS `deleted_by`, 0 AS `restored_by` FROM `cache_logs` WHERE `cache_logs`.`id`='&1' LIMIT 1", $log_id, $usr['userid']); // remove log entry sql("DELETE FROM `cache_logs` WHERE `cache_logs`.`id`='&1' LIMIT 1", $log_id); // remove cache from users top caches, if the only found or attended log // of this user was deleted sql("DELETE FROM `cache_rating` WHERE `user_id` = '&1' AND `cache_id` = '&2' AND 0 = (SELECT COUNT(*) FROM `cache_logs` WHERE `user_id` = '&1' AND `cache_id` = '&2' AND `type` IN (1,7))", $log_record['log_user_id'], $log_record['cache_id']); // do not use slave server for the next time ... db_slave_exclude(); //call eventhandler require_once($opt['rootpath'] . 'lib/eventhandler.inc.php'); event_remove_log($log_record['cache_id'], $log_record['log_user_id']); //cache anzeigen tpl_redirect('viewcache.php?cacheid=' . urlencode($log_record['cache_id'])); exit; } // quickfix: this is coded in res_logentry_logitem.tpl (after smarty migration) switch ($log_record['log_type']) { case 1: $sLogTypeText = t("%1 found the Geocache", $log_record['log_username']); break; case 2: $sLogTypeText = t("%1 didn't find the Geoacache", $log_record['log_username']); break; case 3: $sLogTypeText = t("%1 wrote a note", $log_record['log_username']); break; case 7: $sLogTypeText = t("%1 has visited the event", $log_record['log_username']); break; case 8: $sLogTypeText = t("%1 wants to visit the event", $log_record['log_username']); break; default: $sLogTypeText = $log_record['log_username']; break; } tpl_set_var('cachename', htmlspecialchars($log_record['cache_name'], ENT_COMPAT, 'UTF-8')); tpl_set_var('cacheid', htmlspecialchars($log_record['cache_id'], ENT_COMPAT, 'UTF-8')); tpl_set_var('logid_urlencode', htmlspecialchars(urlencode($log_id), ENT_COMPAT, 'UTF-8')); tpl_set_var('logid', htmlspecialchars($log_id, ENT_COMPAT, 'UTF-8')); tpl_set_var('logimage', icon_log_type($log_record['icon_small'], "")); tpl_set_var('date', htmlspecialchars(strftime($dateformat, strtotime($log_record['log_date'])), ENT_COMPAT, 'UTF-8')); tpl_set_var('time', substr($log_record['log_date'],11)=="00:00:00" ? "" : ", " . substr($log_record['log_date'],11,5)); tpl_set_var('userid', htmlspecialchars($log_record['log_user_id'] + 0, ENT_COMPAT, 'UTF-8')); tpl_set_var('username', htmlspecialchars($log_record['log_username'], ENT_COMPAT, 'UTF-8')); tpl_set_var('typetext', htmlspecialchars($sLogTypeText, ENT_COMPAT, 'UTF-8')); tpl_set_var('logtext', $log_record['log_text']); tpl_set_var('log_user_name', htmlspecialchars($log_record['log_username'], ENT_COMPAT, 'UTF-8')); } else { //TODO: hm ... no permission to remove the log } } else { //TODO: log doesn't exist } } } //make the template and send it out tpl_BuildTemplate(); ?>