// do not use slave server for the next time ...
                db_slave_exclude();
                //add record to cache_desc table
                sql("INSERT INTO `cache_desc` (\n\t\t\t\t\t\t\t\t\t\t\t\t`id`,\n\t\t\t\t\t\t\t\t\t\t\t\t`cache_id`,\n\t\t\t\t\t\t\t\t\t\t\t\t`language`,\n\t\t\t\t\t\t\t\t\t\t\t\t`desc`,\n\t\t\t\t\t\t\t\t\t\t\t\t`desc_html`,\n\t\t\t\t\t\t\t\t\t\t\t\t`hint`,\n\t\t\t\t\t\t\t\t\t\t\t\t`short_desc`,\n\t\t\t\t\t\t\t\t\t\t\t\t`last_modified`,\n\t\t\t\t\t\t\t\t\t\t\t\t`desc_htmledit`,\n\t\t\t\t\t\t\t\t\t\t\t\t`node`\n\t\t\t\t\t\t\t\t\t\t\t) VALUES ('', '&1', '&2', '&3', '&4', '&5', '&6', NOW(), '&7', '&8')", $cache_id, $sel_lang, $desc, $descMode != 1 ? 1 : 0, nl2br(htmlspecialchars($hints, ENT_COMPAT, 'UTF-8')), $short_desc, $descMode == 3 ? 1 : 0, $oc_nodeid);
                // insert cache-attributes
                for ($i = 0; $i < count($cache_attribs); $i++) {
                    if ($cache_attribs[$i] + 0 > 0) {
                        sql("INSERT INTO `caches_attributes` (`cache_id`, `attrib_id`) VALUES ('&1', '&2')", $cache_id, $cache_attribs[$i] + 0);
                    }
                }
                // only if cache is published NOW or activate_date is in the past
                if ($publish == 'now2' || $publish == 'later' && mktime($activate_hour, 0, 0, $activate_month, $activate_day, $activate_year) <= $today) {
                    //do event handling
                    include_once $opt['rootpath'] . '/lib/eventhandler.inc.php';
                    event_notify_new_cache($cache_id + 0);
                    event_new_cache($usr['userid'] + 0);
                }
                // redirection
                tpl_redirect('viewcache.php?cacheid=' . urlencode($cache_id));
            } else {
                tpl_set_var('general_message', $error_general);
            }
        }
    }
}
if ($no_tpl_build == false) {
    tpl_set_var('scrollposx', isset($_REQUEST['scrollposx']) ? $_REQUEST['scrollposx'] + 0 : 0);
    tpl_set_var('scrollposy', isset($_REQUEST['scrollposy']) ? $_REQUEST['scrollposy'] + 0 : 0);
    // make the template and send it out
    tpl_BuildTemplate();
}
Beispiel #2
0
<?php

/**
 * This script publishes the cache if its activation_date was set
 */
use Utils\Database\XDb;
use lib\Objects\GeoCache\GeoCache;
$rootpath = '../../';
require_once $rootpath . 'lib/ClassPathDictionary.php';
require_once $rootpath . 'lib/eventhandler.inc.php';
require_once $rootpath . 'lib/consts.inc.php';
require_once $rootpath . 'lib/settings.inc.php';
$rsPublish = XDb::xSql("SELECT `cache_id`, `user_id`\n                FROM `caches`\n                WHERE `status` = 5\n                  AND `date_activate` != 0\n                  AND `date_activate` <= NOW()");
while ($rPublish = XDb::xFetchArray($rsPublish)) {
    $userid = $rPublish['user_id'];
    $cacheid = $rPublish['cache_id'];
    // update cache status to active
    XDb::xSql("UPDATE `caches` SET `status`=1, `date_activate`=NULL, `last_modified`=NOW() WHERE `cache_id`= ? ", $cacheid);
    // send events
    GeoCache::touchCache($cacheid);
    event_new_cache($userid);
    event_notify_new_cache($cacheid);
}
XDb::xFreeResults($rsPublish);