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; }
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; }
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)); }