Example #1
0
function _ratatoeskr()
{
    global $backend_subactions, $ste, $url_handlers, $ratatoeskr_settings, $plugin_objs, $api_compat;
    $ts_start = microtime(True);
    session_start();
    db_connect();
    clean_database();
    if (isset($ratatoeskr_settings["debugmode"]) and $ratatoeskr_settings["debugmode"]) {
        define("__DEBUG__", True);
    }
    if (PLUGINS_ENABLED) {
        $activeplugins = array_filter(Plugin::all(), function ($plugin) {
            return $plugin->active;
        });
        foreach ($activeplugins as $plugin) {
            if (!in_array($plugin->api, $api_compat)) {
                $plugin->active = False;
                $plugin->save();
                continue;
            }
            eval($plugin->code);
            $plugin_obj = new $plugin->classname($plugin->get_id());
            if ($plugin->update) {
                $plugin_obj->update();
                $plugin->update = False;
                $plugin->save();
            }
            $plugin_obj->init();
            $plugin_objs[$plugin->get_id()] = $plugin_obj;
        }
    }
    /* Register URL handlers */
    build_backend_subactions();
    register_url_handler("_default", "frontend_url_handler");
    register_url_handler("_index", "frontend_url_handler");
    register_url_handler("index", "frontend_url_handler");
    register_url_handler("backend", $backend_subactions);
    register_url_handler("_notfound", url_action_simple(function ($data) {
        global $ste;
        header("HTTP/1.1 404 Not Found");
        $ste->vars["title"] = "404 Not Found";
        $ste->vars["details"] = str_replace("[[URL]]", $_SERVER["REQUEST_URI"], isset($translation) ? $translation["e404_details"] : "The page [[URL]] could not be found. Sorry.");
        echo $ste->exectemplate("/systemtemplates/error.html");
    }));
    $urlpath = explode("/", @$_GET["action"]);
    $rel_path_to_root = implode("/", array_merge(array("."), array_repeat("..", count($urlpath) - 1)));
    $GLOBALS["rel_path_to_root"] = $rel_path_to_root;
    $data = array("rel_path_to_root" => $rel_path_to_root);
    $ste->vars["rel_path_to_root"] = $rel_path_to_root;
    url_process($urlpath, $url_handlers, $data);
    if (PLUGINS_ENABLED) {
        foreach ($plugin_objs as $plugin_obj) {
            $plugin_obj->atexit();
        }
    }
    $ratatoeskr_settings->save();
}
            modules_update($row['ID']);
            // Handle membership level change
            if ($further_membership_arr['ID'] == MEMBERSHIP_ID_STANDARD) {
                $mail_ret = mem_expiration_letter($row['ID'], $last_membership_arr['Name'], -1);
                if ($mail_ret) {
                    $expire_letters++;
                }
            }
        }
    } elseif ($current_membership_arr['ID'] != MEMBERSHIP_ID_STANDARD) {
        // Calculate further UNIX Timestamp
        $further_timestamp = time() + $expire_notification_days * 24 * 3600;
        $further_membership_arr = getMemberMembershipInfo($row['ID'], $further_timestamp);
        if ($current_membership_arr['ID'] != $further_membership_arr['ID'] && $further_membership_arr['ID'] == MEMBERSHIP_ID_STANDARD) {
            if (!$expire_notify_once || abs($further_timestamp - time()) < 24 * 3600) {
                $mail_ret = mem_expiration_letter($row['ID'], $current_membership_arr['Name'], (int) (($current_membership_arr['DateExpires'] - time()) / (24 * 3600)));
                if ($mail_ret) {
                    $expire_letters++;
                }
            }
        }
    }
}
echo "Send membership expire letters: {$expire_letters} letters\n";
//========================================================================================================================
// clear tmp folder --------------------------------------------------------------------------
del_old_all_files();
// ----------------------------------------------------------------------------------
clean_database();
modules_proceed();
finish();
Example #3
0
function rm_config($x)
{
    if ($x) {
        unlink(dirname(__FILE__) . '/' . DATA_DIR . '/config.php');
        clean_database();
    }
    return $x;
}