Example #1
0
 public static function display()
 {
     $data = array();
     $dataID = (int) Template::getParam('editID', $_REQUEST);
     if ($dataID > 0 && self::checkObj($dataID)) {
         $q = self::$modx->db->update(array('hide' => !self::_getValue('hide', $dataID)), self::$modx->getFullTableName(self::$_mode), "id = " . $dataID);
         $data['log'] = $q ? 'Информация обновлена' : 'Не удалось обновить информацию';
     } else {
         $data['log'] = 'Не удалось определить обновляему запись';
     }
     return $data;
 }
Example #2
0
 public static function deleted()
 {
     $dataID = (int) Template::getParam('docId', $_GET);
     if ($dataID > 0 && self::_checkObj($dataID)) {
         $oldValue = self::_getValue('deleted_at', $dataID);
         $q = self::$modx->db->update(array('deleted_at' => empty($oldValue) ? date('Y-m-d H:i:s') : null), self::$modx->getFullTableName(self::TABLE()), "id = " . $dataID);
         if ($q) {
             $data['log'] = $oldValue ? 'Запись с ID ' . $dataID . ' восстановлена' : 'Запись с ID ' . $dataID . ' удалена';
         } else {
             $data['log'] = $oldValue ? 'Не удалось восстановить запись с ID ' . $dataID : 'Не удалось удалить запись с ID ' . $dataID;
         }
     } else {
         $data['log'] = '<span class="error">Ошибка</span>. Не удалось определить обновляему запись';
     }
     return $data;
 }
Example #3
0
 public static function csv()
 {
     header('Content-Type: application/json');
     $json = array();
     self::$TPL = 'ajax/getValue';
     $file = Template::getParam('filedata', $_FILES);
     $name = strtolower(end(explode(".", Template::getParam('name', $file))));
     $stat = array();
     switch ($name) {
         case 'txt':
             $stat = Helper::readFileLine(Template::getParam('tmp_name', $file), function (array $params) {
                 $line = trim(Template::getParam('line', $params));
                 if (!empty($line)) {
                     /**
                      * @var \DocumentParser $modx
                      */
                     $modx = Template::getParam('modx', $params);
                     /**
                      * Создавать новую запись
                      */
                     $modRM = self::$classTable;
                     $insert = array('uri' => $line, 'active' => 0, 'page' => 0);
                     $insert = array_merge($insert, Action::checkPageID($insert['uri'], $insert['page']));
                     $isNew = $modRM->create($insert)->save();
                     $uri = $modRM->get('uri');
                     $q = $modx->db->select('id', $modx->getFullTableName(self::TABLE()), "`uri` = '" . $modx->db->escape($uri) . "'");
                     return false !== $isNew && !empty($uri) && $modx->db->getRecordCount($q) == 1;
                 }
             }, array('modx' => self::$modx), 10000);
             break;
         case 'csv':
             ini_set('auto_detect_line_endings', TRUE);
             set_time_limit(0);
             ini_set('max_execution_time', 0);
             $stat = Helper::readFileLine(Template::getParam('tmp_name', $file), function (array $params) {
                 $flag = false;
                 $line = trim(Template::getParam('line', $params));
                 if (!empty($line)) {
                     $data = str_getcsv($line, ';');
                     if (count($data) == 5) {
                         /**
                          * @var \DocumentParser $modx
                          */
                         $modx = Template::getParam('modx', $params);
                         /**
                          * Создавать новую запись
                          */
                         $modRM = self::$classTable;
                         $insert = array('page' => Template::getParam(0, $data, '0'), 'save_get' => Template::getParam(1, $data, '1'), 'full_request' => Template::getParam(2, $data, '1'), 'active' => Template::getParam(3, $data, '1'), 'uri' => iconv('windows-1251', 'UTF-8//IGNORE', Template::getParam(4, $data)));
                         $insert = array_merge($insert, Action::checkPageID($insert['uri'], $insert['page']));
                         $isNew = $modRM->create($insert)->save();
                         $uri = $modRM->get('uri');
                         $q = $modx->db->select('id', $modx->getFullTableName(self::TABLE()), "`uri` = '" . $modx->db->escape($uri) . "'");
                         return false !== $isNew && !empty($uri) && $modx->db->getRecordCount($q) == 1;
                     }
                 }
                 return $flag;
             }, array('modx' => self::$modx), 10000);
             break;
         default:
             $log[] = 'Некорректный тип файла';
     }
     if (empty($log)) {
         $log = array('Число строк обработанных из загружаемого файла: ' . Template::getParam('line', $stat, 0), 'Число обновленных или добавленных ключей: ' . Template::getParam('add', $stat, 0));
     }
     $json['message'] = self::$_tplObj->showBody('log', array('log' => $log));
     return array('value' => json_encode($json));
 }