/** * Save a new redirection * */ function SaveRedir() { global $langmessage; if (!$this->CheckRedir()) { return false; } $source = admin_tools::PostedSlug($_POST['source']); if (isset($this->error_data['redirects'][$source])) { message($langmessage['OOPS'] . ' (Redirect Already Set)'); return false; } $this->error_data['redirects'][$source] = array(); $this->error_data['redirects'][$source]['target'] = $_POST['target']; $this->error_data['redirects'][$source]['code'] = $_POST['code']; $this->error_data['redirects'][$source]['raw_source'] = $_POST['source']; return $this->SaveData_Message(); }
/** * Convert a label to a slug * Does not use PostedSlug() so entity_unescape isn't called twice * @since 2.5b1 * */ static function LabelToSlug($string) { return admin_tools::PostedSlug($string, true); }
static function RenameFileWorker($title) { global $langmessage, $dataDir, $gp_index; //use new_label or new_title if (isset($_POST['new_title'])) { $new_title = admin_tools::PostedSlug($_POST['new_title']); } else { $new_title = admin_tools::LabelToSlug($_POST['new_label']); } //title unchanged if ($new_title == $title) { return $title; } $special_file = false; if (common::SpecialOrAdmin($title)) { $special_file = true; } if (!admin_tools::CheckTitle($new_title, $message)) { msg($message); return false; } $old_gp_index = $gp_index; //re-index: make the new title point to the same data index $old_file = gpFiles::PageFile($title); $file_index = $gp_index[$title]; unset($gp_index[$title]); $gp_index[$new_title] = $file_index; //rename the php file if (!$special_file) { $new_file = gpFiles::PageFile($new_title); //we don't have to rename files if we're using the index naming convention. See gpFiles::PageFile() for more info if ($new_file == $old_file) { //if the file being renamed doesn't use the index naming convention, then we'll still need to rename it } elseif (!rename($old_file, $new_file)) { msg($langmessage['OOPS'] . ' (N3)'); $gp_index = $old_gp_index; return false; } //gallery rename includeFile('special/special_galleries.php'); special_galleries::RenamedGallery($title, $new_title); } //create a 301 redirect if (isset($_POST['add_redirect']) && $_POST['add_redirect'] == 'add') { includeFile('admin/admin_missing.php'); admin_missing::AddRedirect($title, $new_title); } gpPlugin::Action('RenameFileDone', array($file_index, $title, $new_title)); return $new_title; }