$extdisplay = ''; // resets back to main screen $routename = ''; // resets back to main screen $routepass = ''; // resets back to main screen $dialpattern = array(); $trunkpriority = array(); break; case "editroute": editRoute($routename, $dialpattern, $trunkpriority, $routepass, $ctisupport, $localcid); exec($extenScript); needreload(); break; case "delroute": deleteRoute($extdisplay); // re-order the routes to make sure that there are no skipped numbers. // example if we have 001-test1, 002-test2, and 003-test3 then delete 002-test2 // we do not want to have our routes as 001-test1, 003-test3 we need to reorder them // so we are left with 001-test1, 002-test3 $routepriority = getroutenames(); $routepriority = setroutepriority($routepriority, '', ''); exec($extenScript); needreload(); $extdisplay = ''; // resets back to main screen break; case 'renameroute': if (renameRoute($routename, $_REQUEST["newroutename"])) { exec($extenScript); needreload();
reorderRoutes(); return COM_refresh($_CONF['site_admin_url'] . '/router.php?msg=123'); } // MAIN $display = ''; $mode = \Geeklog\Input::fGet('mode', \Geeklog\Input::fPost('mode', '')); $rid = \Geeklog\Input::fGet('rid', \Geeklog\Input::fPost('rid', 0)); $rid = intval($rid, 10); $securityToken = SEC_createToken(); switch ($mode) { case $LANG_ADMIN['delete']: if ($rid === 0) { COM_errorLog('Attempted to delete route, rid empty or null, value =' . $rid); $display = COM_refresh($_CONF['site_admin_url'] . '/router.php'); } elseif (SEC_checkToken()) { $display = deleteRoute($rid); } else { COM_accessLog("User {$_USER['username']} tried to illegally delete route {$rid} and failed CSRF checks."); $display = COM_refresh($_CONF['site_admin_url'] . '/index.php'); } echo $display; die; break; case $LANG_ADMIN['save']: if (!SEC_checkToken()) { COM_accessLog("User {$_USER['username']} tried to illegally save route {$rid} and failed CSRF checks."); echo COM_refresh($_CONF['site_admin_url'] . '/index.php'); die; } $method = \Geeklog\Input::fPost('method', ''); $rule = \Geeklog\Input::post('rule', '');
function handlePostRequest($type, $eventid) { $data = json_decode(file_get_contents('php://input')); $write = array(); if (lockDatabase() !== FALSE) { if ($type != 'addroute') { $loggedIn = logIn($data); } else { // don't need to log in to add a route $loggedIn = TRUE; } if ($loggedIn) { //rg2log($type); switch ($type) { case 'addroute': $write = addNewRoute($eventid, $data); @unlink(CACHE_DIRECTORY . "results_" . $eventid . ".json"); @unlink(CACHE_DIRECTORY . "tracks_" . $eventid . ".json"); @unlink(CACHE_DIRECTORY . "stats.json"); break; case 'addmap': $write = addNewMap($data); break; case 'createevent': $write = addNewEvent($data); @unlink(CACHE_DIRECTORY . "events.json"); @unlink(CACHE_DIRECTORY . "stats.json"); break; case 'editevent': $write = editEvent($eventid, $data); @unlink(CACHE_DIRECTORY . "events.json"); @unlink(CACHE_DIRECTORY . "stats.json"); break; case 'deleteevent': $write = deleteEvent($eventid); @unlink(CACHE_DIRECTORY . "events.json"); @unlink(CACHE_DIRECTORY . "results_" . $eventid . ".json"); @unlink(CACHE_DIRECTORY . "courses_" . $eventid . ".json"); @unlink(CACHE_DIRECTORY . "tracks_" . $eventid . ".json"); @unlink(CACHE_DIRECTORY . "stats.json"); break; case 'deleteroute': $write = deleteRoute($eventid); @unlink(CACHE_DIRECTORY . "results_" . $eventid . ".json"); @unlink(CACHE_DIRECTORY . "tracks_" . $eventid . ".json"); @unlink(CACHE_DIRECTORY . "stats.json"); break; case 'deletecourse': $write = deleteCourse($eventid); @unlink(CACHE_DIRECTORY . "results_" . $eventid . ".json"); @unlink(CACHE_DIRECTORY . "courses_" . $eventid . ".json"); @unlink(CACHE_DIRECTORY . "tracks_" . $eventid . ".json"); @unlink(CACHE_DIRECTORY . "stats.json"); break; case 'login': // handled by default before we got here $write["ok"] = TRUE; $write["status_msg"] = "Login successful"; break; default: rg2log("Post request not recognised: " . $type); $write["status_msg"] = "Request not recognised: " . $type; $write["ok"] = FALSE; break; } } else { $write["ok"] = FALSE; $write["status_msg"] = "Incorrect user name or password"; } unlockDatabase(); } else { $write["status_msg"] = "File lock error"; $write["ok"] = FALSE; } $keksi = generateNewKeksi(); $write["keksi"] = $keksi; header("Content-type: application/json"); $write["version"] = RG2VERSION; echo json_encode($write); }