コード例 #1
0
ファイル: queries.php プロジェクト: mined-gatech/hubzero-cms
 /**
  * Remove a folder
  *
  * @return  void
  */
 public function saveorderingTask()
 {
     // Check for request forgeries
     Request::checkToken(['get', 'post']);
     // Incoming
     $folders = Request::getVar('folder', array());
     $queries = Request::getVar('queries', array());
     if (is_array($folders)) {
         foreach ($folders as $key => $folder) {
             $row = new QueryFolder($this->database);
             $row->load(intval($folder));
             $row->ordering = $key + 1;
             $row->store();
         }
     }
     if (is_array($queries)) {
         $folder = null;
         $i = 0;
         foreach ($queries as $query) {
             $bits = explode('_', $query);
             $fd = intval($bits[0]);
             $id = intval($bits[1]);
             if ($fd != $folder) {
                 $folder = $fd;
                 $i = 0;
             }
             $row = new Query($this->database);
             $row->load($id);
             $row->folder_id = $fd;
             $row->ordering = $i + 1;
             $row->store();
             $i++;
         }
     }
     if (!$no_html) {
         // Output messsage and redirect
         App::redirect(Route::url('index.php?option=' . $this->_option . '&controller=' . $this->_controller, false), Lang::txt('COM_SUPPORT_QUERY_FOLDER_SUCCESSFULLY_REMOVED'));
     }
     $response = new stdClass();
     $response->success = 1;
     $response->message = Lang::txt('COM_SUPPORT_QUERY_FOLDER_ORDERING_UPDATED');
     echo json_encode($response);
 }
コード例 #2
0
ファイル: queries.php プロジェクト: kevinwojo/hubzero-cms
 /**
  * Reset default queries and folders.
  * System will repopulate them.
  *
  * @return  void
  */
 public function resetTask()
 {
     // Check for request forgeries
     Request::checkToken(['get', 'post']);
     if (!User::authorise('core.admin', $this->_option)) {
         return $this->cancelTask();
     }
     $db = App::get('db');
     $query = new Query($db);
     $folder = new QueryFolder($db);
     $db->setQuery("DELETE FROM " . $db->quoteName($query->getTableName()));
     $db->query();
     $db->setQuery("DELETE FROM " . $db->quoteName($folder->getTableName()));
     $db->query();
     // Get all the default folders
     $folders = $folder->find('list', array('user_id' => 0, 'sort' => 'ordering', 'sort_Dir' => 'asc', 'iscore' => 1));
     if (count($folders) <= 0) {
         $defaults = array(1 => array('Common', 'Mine', 'Custom'), 2 => array('Common', 'Mine'));
         foreach ($defaults as $iscore => $fldrs) {
             $i = 1;
             foreach ($fldrs as $fldr) {
                 $f = new QueryFolder($db);
                 $f->iscore = $iscore;
                 $f->title = $fldr;
                 $f->check();
                 $f->ordering = $i;
                 $f->user_id = 0;
                 $f->store();
                 switch ($f->alias) {
                     case 'common':
                         $j = $iscore == 1 ? $query->populateDefaults('common', $f->id) : $query->populateDefaults('commonnotacl', $f->id);
                         break;
                     case 'mine':
                         $query->populateDefaults('mine', $f->id);
                         break;
                     default:
                         // Nothing for custom folder
                         break;
                 }
                 $i++;
             }
         }
     }
     $this->cancelTask();
 }