function get_parser() { $conf = configurations(); if (!$_GET) { return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'listprojects'); } if (isset($_GET['mod'])) { if (is_array(myfilter($_GET['mod'], 'mod'))) { trigger_error('potential attack using mod'); return deconnect(); } else { $mod = $_GET['mod']; } } else { $mod = null; } switch ($_GET['action']) { case 'adduser': if (admin(true)) { if ($_POST['usr_email'] && $_POST['username']) { return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'adduser', add_user(myfilter($_POST['usr_email'], 'email'), myfilter($_POST['username'], 'user'), myfilter($_POST['lvl'], 'lvl'))); } return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'adduser'); } break; case 'listusers': if (admin(true)) { $list_users = list_users(array(null)); return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'listusers', $list_users); } break; case 'deco': return deconnect(); break; case 'modpass': if ($_POST['oldpass'] && $_POST['password1'] && $_POST['password2']) { $pass = array(myfilter($_POST['oldpass'], 'password'), myfilter($_POST['password1'], 'password'), myfilter($_POST['password2'], 'password')); if (is_string($pass[0]) && is_string($pass[1]) && is_string($pass[2])) { $change = change_password($_SESSION['db_data']['_id'], $pass); return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'changepass', $change); } } return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'changepass', null); break; case 'resetpass': if (isset($_GET['user_id']) && isset($_GET['resetcode']) && !is_array($_GET['user_id']) && !is_array($_GET['resetcode'])) { return reset_password($_GET['user_id'], $_GET['resetcode']); } elseif (isset($_GET['user_id']) && !is_array($_GET['user_id']) && admin(true)) { return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'edit_user', reset_password($_GET['user_id'])); } break; case 'edituser': if (isset($_GET['user_id'])) { if (user(true) && $_GET['user_id'] == $_SESSION['db_data']['_id']) { return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'edit_user', change_user_data($_SESSION['db_data'])); } if (admin(true) && !is_array($_GET['user_id'])) { return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'edit_user', change_user_data(check_user(array('_id' => new MongoID(myfilter($_GET['user_id'], '_id')))))); } } break; case 'changemail': if (isset($_GET['user_id']) && isset($_GET['code'])) { $db = check_user(array('_id' => new MongoID(myfilter($_GET['user_id'], '_id')))); if ($db['mail_change_id'] == $_GET['code']) { return change_email_user(array('email' => $db['new_mail'], 'new_mail' => null, 'mail_change_id' => null), myfilter($_GET['user_id'], '_id'), 'postmail'); } } break; case 'deluser': if (admin(true) && !is_array($_GET['user_id'])) { return delete_user(myfilter($_GET['user_id'], '_id')); } break; case 'addproject': if (admin(true)) { return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'add_project', addproject()); } break; case 'project': if (isset($_GET['project_id'])) { if (!is_array(myfilter($_GET['project_id'], '_id'))) { $_SESSION['currentprojet'] = myfilter($_GET['project_id'], '_id'); return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'project', check_projects_mod($mod)); } } break; case 'getfile': if (isset($_GET['file']) && isset($_GET['key']) && isset($_GET['id']) && isset($_GET['os']) && isset($_GET['arch'])) { if (!is_array(myfilter($_GET['file'], 'sha1')) && !is_array(myfilter($_GET['key'], 'timestamp')) && !is_array(myfilter($_GET['id'], '_id')) && !is_array($_GET['os']) && !is_array($_GET['arch'])) { return down_file(myfilter($_GET['file'], 'sha1'), myfilter($_GET['key'], 'timestamp'), base64_decode(urldecode($_GET['os'])), base64_decode(urldecode($_GET['arch'])), myfilter($_GET['id'], '_id')); } } break; case 'addfile': if (admin(true) && isset($_GET['id'])) { if (!is_array(myfilter($_GET['id'], '_id'))) { return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'add_file', addfile(myfilter($_GET['id'], '_id'))); } } break; case 'deletefile': if (admin(true) && isset($_GET['id']) && isset($_GET['key'])) { if (!is_array(myfilter($_GET['id'], '_id')) && !is_array(myfilter($_GET['key'], 'timestamp'))) { return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'project', delete_file(myfilter($_GET['id'], '_id'), myfilter($_GET['key'], 'timestamp'))); } } break; case 'usersetting': if (isset($_GET['user_id'])) { if (user(true) && $_GET['user_id'] == $_SESSION['db_data']['_id']) { return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'setting', change_user_setting($_SESSION['db_data']['_id'])); } } break; case 'bug': if (isset($_GET['id'])) { if (!is_array(myfilter($_GET['id'], '_id'))) { return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'bug', check_bug($mod)); } } break; case 'submitbug': if (isset($_GET['id'])) { if (user(true) && in_array($_GET['id'], $_SESSION['db_data']['projects'])) { $_SESSION['idbug'] = $_GET['id']; return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'submitbug', add_bug($_POST, $_GET['id'])); } if (admin(true) || vip(true)) { if (!is_array(myfilter($_GET['id'], '_id'))) { $_SESSION['idbug'] = $_GET['id']; return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'submitbug', add_bug($_POST, $_GET['id'])); } } } break; case 'listprojects': return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'listprojects', $mod); break; case 'editbug': if (strlen($_POST['status']) && isset($_GET['id']) && admin(true)) { if (!is_array($_POST['status']) && !is_array(myfilter($_GET['id'], '_id'))) { if (in_array($_POST['status'], $conf['bugs']['Open']) || in_array($_POST['status'], $conf['bugs']['Closed'])) { return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'bug', edit_bug($_POST['status'])); } } } break; case 'resetpassmail': if (strlen($_POST['usr_email'])) { return echo_front_page(reset_password_mail(myfilter($_POST['usr_email'], 'email'))); } break; case 'editproject': if (isset($_GET['id']) && admin(true)) { if (!is_array(myfilter($_GET['id'], '_id'))) { return user_page_display($_SESSION['db_data']['user'], $_SESSION['db_data']['lvl'], 'edit_project', edit_project($_POST)); } } break; } return echo_front_page(); }
function Draw_Page($Page_Type) { // Read only pages - these pages don't strictly require user authentication. // Therefore, to enable permit-all page viewing, comment out the call // to rejectIfNotAuthenticated() in the relevant case block. Note, some of // these pages will replace sensitive info such as telephone/email with // the string 'PROTECTED' // ************************************************************************ switch ($Page_Type) { case "default": //rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/start_page.php'; startPage(); break; case "View_Service_Endpoint": //rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/view_service_endpoint.php'; view_endpoint(); break; case "Service_Groups": //rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service_group/view_all.php'; showAllServiceGroups(); break; case "Service_Group": //rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service_group/view_sgroup.php'; showServiceGroup(); break; case "Site": //rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/site/view_site.php'; view_site(); break; case "NGI": //rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/ngi/view_ngi.php'; view_ngi(); break; case "Service": //rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/view_service.php'; view_se(); break; case "Services": //rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/view_all.php'; drawSEs(); break; case "NGIs": //rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/ngi/view_ngis.php'; view_ngis(); break; case "Sites": //rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/site/view_all.php'; showAllSites(); break; case "Projects": //rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/project/view_all.php'; show_all_projects(); break; case "Project": //rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/project/view_project.php'; show_project(); break; case "Scope_Help": //rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/scope_help.php'; show_help(); break; case "Site_Geo_xml": //rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/sitesForGoogleMapXML.php'; show_xml(); break; case "Error_Redirect": //rejectIfNotAuthenticated(); show_view('error.php', $_REQUEST['error']); break; case "Static_HTML": //rejectIfNotAuthenticated(); Draw_Static_HTML(); break; case "Search": //rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/search.php'; search(); break; // CrUD Pages - These pages MUST have authentication enabled so // the calls to rejectIfNotAuthenticated() must be used. // ********************************************************************* // CrUD Pages - These pages MUST have authentication enabled so // the calls to rejectIfNotAuthenticated() must be used. // ********************************************************************* case "Revoke_Role": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/political_role/revoke_request.php'; view_revoke_request(); break; case "Accept_Role_Request": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/political_role/accept_request.php'; view_accept_request(); break; case "Deny_Role_Request": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/political_role/deny_request.php'; view_deny_request(); break; case "Role_Requests": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/political_role/view_requests.php'; view_requests(); break; case "Request_Role": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/political_role/request_role.php'; request_role(); break; case "Edit_Site": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/site/edit_site.php'; edit_site(); break; case "Edit_Service": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/edit_service.php'; edit_service(); break; case "SE_Downtimes": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/se_downtimes.php'; se_downtimes(); break; case "Add_Service": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/add_service.php'; add_service(); break; case "Add_Service_Endpoint": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/add_service_endpoint.php'; add_service_endpoint(); break; case "Delete_Service": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/delete_service.php'; delete(); break; case "Edit_User": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/user/edit_user.php'; edit_user(); break; case "User": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/user/view_user.php'; view_user(); break; case "Downtime": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/downtime/view_downtime.php'; view(); break; case "My_Sites": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/my_sites.php'; my_sites(); break; case "Edit_NGI": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/ngi/edit_ngi.php'; edit_ngi(); break; case "Edit_Service_Group": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service_group/edit_service_group.php'; edit_service_group(); break; case "Add_Service_Group_SEs": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service_group/add_ses.php'; add_ses(); break; case "Search_SEs": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service_group/search_ses.php'; search_ses(); break; case "Remove_Service_Group_SEs": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service_group/remove_ses.php'; remove_ses(); break; case "Add_Site": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/site/add_site.php'; add_site(); break; case "SGroup_Downtimes": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service_group/view_sgroup_downtimes.php'; view_sgroup_downtimes(); break; case "Add_Service_Group": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service_group/add_service_group.php'; add_service_group(); break; case "Site_Downtimes": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/site/site_downtimes.php'; site_downtimes(); break; case "Register": rejectIfNotAuthenticated('Access denied - ' . 'you need to be pre-authenticated before you can register a new account'); require_once __DIR__ . '/controllers/user/register.php'; register(); break; case "Add_Downtime": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/downtime/add_downtime.php'; //require_once __DIR__.'/controllers/downtime/add_downtime_old.php'; add(); break; case "Edit_Downtime": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/downtime/edit_downtime.php'; //require_once __DIR__.'/controllers/downtime/edit_downtime_old.php'; edit(); break; case "End_Downtime": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/downtime/end_downtime.php'; endDt(); break; case "Downtime_view_endpoint_tree": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/downtime/view_endpoint_tree.php'; getServiceandEndpointList(); break; case "Edit_Downtime_view_endpoint_tree": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/downtime/view_endpoint_tree.php'; editDowntimePopulateEndpointTree(); break; case "Downtime_View_Services": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/downtime/view_services.php'; getSitesServices(); break; case "Delete_Site": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/site/delete_site.php'; delete(); break; case "Delete_Downtime": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/downtime/delete_downtime.php'; delete(); break; case "Downtimes_Overview": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/downtime/downtimes_overview.php'; view(); break; case "Delete_Service_Group": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service_group/delete_service_group.php'; delete(); break; case "Delete_User": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/user/delete_user.php'; delete(); break; case "Edit_Certification_Status": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/site/edit_cert_status.php'; edit(); break; case "Retrieve_Account": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/user/retrieve_account.php'; retrieve(); break; case "Remove_Project_NGIs": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/project/remove_ngis.php'; remove_ngis_project(); break; case "Add_Project_NGIs": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/project/add_ngis.php'; add_ngis_to_project(); break; case "Edit_Project": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/project/edit_project.php'; edit_project(); break; case "Delete_Project": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/project/delete_project.php'; delete_project(); break; case "Admin_Move_Site": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/move_site.php'; move_site(); break; case "Admin_Move_SEP": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/move_service_end_point.php'; move_service_end_point(); break; case "Admin_Service_Types": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/view_service_types.php'; show_all(); break; case "Admin_Service_Type": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/view_service_type.php'; view_service_type(); break; case "Admin_Edit_Service_Type": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/edit_service_type.php'; edit_type(); break; case "Admin_Add_Service_Type": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/add_service_type.php'; add_type(); break; case "Admin_Delete_Service_Type": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/delete_service_type.php'; delete_service_type(); break; case "Admin_Delete_Service_Type_Denied": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/delete_service_type_denied.php'; deny_delete_type(); break; case "Admin_Add_NGI": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/add_ngi.php'; add_ngi(); break; case "Admin_Users": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/users.php'; show_users(); break; case "Admin_Edit_User_DN": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/edit_user_dn.php'; edit_dn(); break; // case "Admin_Change_User_Admin_Status": // rejectIfNotAuthenticated(); // require_once __DIR__.'/controllers/admin/edit_user_isadmin.php'; // make_admin(); // break; // case "Admin_Change_User_Admin_Status": // rejectIfNotAuthenticated(); // require_once __DIR__.'/controllers/admin/edit_user_isadmin.php'; // make_admin(); // break; case "Admin_Add_Project": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/add_project.php'; add_project(); break; case "Admin_Scopes": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/scopes.php'; show_scopes(); break; case "Admin_Remove_Scope": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/delete_scope.php'; remove_scope(); break; case "Admin_Add_Scope": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/add_scope.php'; add_scope(); break; case "Admin_Scope": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/scope.php'; view_scope(); break; case "Admin_Edit_Scope": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/edit_scope.php'; edit_scope(); break; case "Admin_Delete_NGI": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/admin/delete_ngi.php'; delete_ngi(); break; case "User_Validate_DN_Change": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/user/retrieve_account_user_validate.php'; validate_dn_change(); break; case "Add_Site_Property": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/site/add_site_property.php'; add_site_property(); break; case "Add_Service_Property": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/add_service_property.php'; add_service_property(); break; case "Add_Endpoint_Property": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/add_endpoint_property.php'; add_endpoint_property(); break; case "Delete_Site_Property": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/site/delete_site_property.php'; delete(); break; case "Delete_Service_Property": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/delete_service_property.php'; delete(); break; case "Delete_Endpoint_Property": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/delete_endpoint_property.php'; delete(); break; case "Edit_Site_Property": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/site/edit_site_property.php'; edit_property(); break; case "Edit_Service_Property": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/edit_service_property.php'; edit_property(); break; case "Edit_Endpoint_Property": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/edit_endpoint_property.php'; edit_property(); break; case "Add_Service_Group_Property": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service_group/add_service_group_property.php'; add_service_group_property(); break; case "Edit_Service_Group_Property": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service_group/edit_service_group_property.php'; edit_property(); break; case "Delete_Service_Group_Property": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service_group/delete_service_group_property.php'; delete(); break; case "Delete_Service_Endpoint": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/delete_service_endpoint.php'; delete_endpoint(); break; case "Edit_Service_Endpoint": rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/service/edit_service_endpoint.php'; edit_endpoint(); break; default: // require auth by default rejectIfNotAuthenticated(); require_once __DIR__ . '/controllers/start_page.php'; startPage(); break; } }
add_project($project_name, $project_url); } elseif ($_POST['action'] == 'park_project') { $project_id = $_REQUEST['project_id']; park_project($project_id); } elseif ($_POST['action'] == 'unpark_project') { $project_id = $_REQUEST['project_id']; unpark_project($project_id); } elseif ($_GET['project_id']) { $project_id = $_REQUEST['project_id']; require_once 'edit_project.php'; } elseif ($_POST['action'] == 'edit_project') { $project_id = $_REQUEST['project_id']; $new_name = $_POST['project_name']; $new_url = $_POST['project_url']; $new_parked = $_POST['parked']; edit_project($project_id, $new_name, $new_url, $new_parked); } elseif ($_GET['person_id']) { $person_id = $_REQUEST['person_id']; require_once 'edit_person.php'; } elseif ($_POST['action'] == 'add_person') { $person_name = $_REQUEST['person_name']; $person_long_name = $_REQUEST['person_long_name']; $person_role = $_REQUEST['person_role']; add_person($person_name, $person_long_name, $person_role); } elseif ($_POST['action'] == 'edit_person') { $person_id = $_REQUEST['person_id']; $new_name = $_POST['person_name']; $new_long_name = $_POST['person_long_name']; $new_role = $_POST['person_role']; edit_person($person_id, $new_name, $new_long_name, $new_role); } elseif ($_GET['action'] == 'list_latest_changes') {
} else { header("location:index.php?page=login&redirect=job_applications"); } } else { if ($page == "applyforajob" && isset($_POST['name']) && isset($_POST['email']) && isset($_POST['previous_experiences']) && isset($_POST['about']) && isset($_POST['strengths'])) { applyforajob($_POST['name'], $_POST['email'], $_POST['previous_experiences'], $_POST['about'], $_POST['strengths']); } else { if (isset($_POST['name']) && isset($_POST['email']) && isset($_POST['subject']) && isset($_POST['message'])) { contact_us($_POST['name'], $_POST['email'], $_POST['company'], $_POST['subject'], $_POST['message']); } else { if ($page == "delete_project_image" && isset($_GET['project_id']) && isset($_GET['image_id'])) { delete_project_image($_GET['project_id'], $_GET['image_id']); } else { if ($page == "edit_project" && isset($_GET['id'])) { if (isset($_POST['title']) && isset($_POST['type']) && isset($_POST['text'])) { edit_project($_POST['title'], $_POST['type'], $_POST['text']); } require "templates/admin/edit_project.php"; } else { if ($page == "testimony" && isset($_GET['invite'])) { $pdo = pdo(); $invite = $_GET['invite']; //check if the user has submitted data in the form if (isset($_POST['email']) && isset($_POST['name']) && isset($_POST['text'])) { $invite = $_GET['invite']; $statement = $pdo->prepare("SELECT * FROM testimony_invite_links WHERE invite LIKE '{$invite}'"); $statement->execute(); $status = $statement->fetch(); $status = $status['status']; $rowcount = $statement->rowCount(); if ($rowcount >= 1) {