Exemple #1
0
 /**
  * Get the $info array for $title for use with $gp_titles
  *
  */
 public static function GetInfo($trash_index)
 {
     global $dataDir;
     static $trash_titles = false;
     if ($trash_titles === false) {
         $trash_titles = self::TrashFiles();
     }
     if (!array_key_exists($trash_index, $trash_titles)) {
         return false;
     }
     $title_info = $trash_titles[$trash_index];
     $trash_dir = $dataDir . '/data/_trash/' . $trash_index;
     //make sure we have a file or dir
     if (empty($title_info['rm_path'])) {
         if (empty($title_info['file'])) {
             $title_info['file'] = $trash_index . '.php';
         }
         $title_info['rm_path'] = $dataDir . '/data/_trash/' . $title_info['file'];
         $title_info['page_file'] = $dataDir . '/data/_trash/' . $title_info['file'];
     }
     //make sure we have a label
     if (empty($title_info['label'])) {
         $title_info['label'] = \gp\admin\Tools::LabelToSlug($trash_index);
     }
     //make sure we have a file_type
     if (empty($title_info['type'])) {
         $title_info['type'] = self::GetTypes($title_info['page_file']);
     }
     return $title_info;
 }
Exemple #2
0
 private static function RenameFileWorker($title)
 {
     global $langmessage, $dataDir, $gp_index;
     //use new_label or new_title
     if (isset($_POST['new_title'])) {
         $new_title = \gp\admin\Tools::PostedSlug($_POST['new_title']);
     } else {
         $new_title = \gp\admin\Tools::LabelToSlug($_POST['new_label']);
     }
     //title unchanged
     if ($new_title == $title) {
         return $title;
     }
     $special_file = false;
     if (\gp\tool::SpecialOrAdmin($title) !== false) {
         $special_file = true;
     }
     if (!\gp\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 = \gp\tool\Files::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 = \gp\tool\Files::PageFile($new_title);
         //if the file being renamed doesn't use the index naming convention, then we'll still need to rename it
         if ($new_file != $old_file) {
             $new_dir = dirname($new_file);
             $old_dir = dirname($old_file);
             if (!\gp\tool\Files::Rename($old_dir, $new_dir)) {
                 msg($langmessage['OOPS'] . ' (N3)');
                 $gp_index = $old_gp_index;
                 return false;
             }
         }
         //gallery rename
         \gp\special\Galleries::RenamedGallery($title, $new_title);
     }
     //create a 301 redirect
     if (isset($_POST['add_redirect']) && $_POST['add_redirect'] == 'add') {
         \gp\admin\Settings\Missing::AddRedirect($title, $new_title);
     }
     \gp\tool\Plugins::Action('RenameFileDone', array($file_index, $title, $new_title));
     return $new_title;
 }