コード例 #1
0
ファイル: class.TreeTable.php プロジェクト: klimjr/cms
 /**
  * Редактирование записи в таблице
  * @param string $table
  * @param array $data
  * @param int $id
  * @param int $parent
  * @param array $exc
  * @return mixed
  */
 public function editTableRow($table, $data, $id, $parent = 0, $exc = array())
 {
     $data = array_merge(array('field_id' => $id), $data);
     // Определяем идентификатор родителя
     if ($parent == 0) {
         $this->setParent($this->getRootId());
     } else {
         $this->setParent($parent);
     }
     // Загрузка файлов
     $files = files::loadFiles();
     $data_keys = array_keys($data);
     if (is_array($files) && !empty($files)) {
         foreach ($files as $key => $values) {
             if (in_array($key, $data_keys) && $values['error'] == '') {
                 // Удаление файла
                 if (isset($_POST[$key . '_delete']) && (int) $_POST[$key . '_delete'] == 1) {
                     files::deleteFile($data[$key]);
                     $data[$key] = '';
                 }
                 // Добавление файла
                 if ($values['error'] == '') {
                     $data[$key] = $values['name'];
                 }
             }
         }
     }
     // Проверяем существует ли процедура
     if (!$this->__storedProcedureCheck($table . '_update')) {
         // Если процедуры не существует пользуемся генератором процедур
         $this->__storedProcedureGeneration($table, 'update');
     }
     // Получение текущего родителя
     $current_parent = $this->getCurrentParent($table, $id);
     $tree_branches = $this->getNodeInfo($table, $id);
     $data['tree_left'] = isset($data['tree_left']) && $data['tree_left'] != '' ? $data['tree_left'] : $tree_branches['tree_left'];
     $data['tree_right'] = isset($data['tree_right']) && $data['tree_right'] != '' ? $data['tree_right'] : $tree_branches['tree_right'];
     $data['tree_level'] = isset($data['tree_level']) && $data['tree_level'] != '' ? $data['tree_level'] : $tree_branches['tree_level'];
     $query = 'CALL `' . $table . '_update`(';
     $params = array();
     foreach ($data as $key => $value) {
         $query .= ':' . $key . ',';
         $params[':' . $key] = $value;
     }
     $query = substr($query, 0, -1) . ')';
     PdoWrap::execute($query, $params);
     expSitemapAll();
     // Логирование оперции
     $this->tableLog(PREF . $table, $id, "2");
     // Обновление ветвей дерева при изменениии родителя
     if ($current_parent['id'] != $this->getParent()) {
         $tree_branches = $this->getNodeInfo($table, $id);
         $new_parent_tree_branches = $this->getNodeInfo($table, $this->getParent());
         $query = 'CALL update_tree_branches_before_update(:current_table, :current_left, :current_right, :current_level, :new_parent_left, :new_parent_right, :new_parent_level)';
         $params = array(':current_table' => $this->__getPrefixTableName($table), ':current_left' => $tree_branches['tree_left'], ':current_right' => $tree_branches['tree_right'], ':current_level' => $tree_branches['tree_level'], ':new_parent_left' => $new_parent_tree_branches['tree_left'], ':new_parent_right' => $new_parent_tree_branches['tree_right'], ':new_parent_level' => $new_parent_tree_branches['tree_level']);
         PdoWrap::execute($query, $params);
     }
 }
コード例 #2
0
ファイル: class.users.php プロジェクト: kellan04/leantime
 /**
  * setPicture - set the profile picture for an individual
  * 
  * @access public
  * @param string 
  */
 public function setPicture($_FILE, $id)
 {
     $sql = "SELECT * FROM `zp_user` WHERE id=:id";
     $stmn = $this->db->{'database'}->prepare($sql);
     $stmn->bindValue(':id', $id, PDO::PARAM_INT);
     $stmn->execute();
     $values = $stmn->fetch();
     $stmn->closeCursor();
     $files = new files();
     if (isset($values['profileId']) && $values['profileId'] > 0) {
         $file = $files->getFile($values['profileId']);
         $img = 'userdata/' . $file['encName'] . $file['extension'];
         $files->deleteFile($values['profileId']);
     }
     $lastId = $files->upload($_FILE, 'user', $id);
     var_dump($lastId);
     $sql = 'UPDATE `zp_user` SET profileId = :fileId WHERE id = :userId';
     $stmn = $this->db->{'database'}->prepare($sql);
     $stmn->bindValue(':fileId', $lastId, PDO::PARAM_INT);
     $stmn->bindValue(':userId', $id, PDO::PARAM_INT);
     $stmn->execute();
     $stmn->closeCursor();
 }
コード例 #3
0
ファイル: class.SimpleTable.php プロジェクト: klimjr/cms
 /**
  * Редактирование записи в таблице
  * @param string $table
  * @param array $data
  * @param int $id
  * @param int $parent
  * @param array $exc
  * @return bool
  */
 public function editTableRow($table, $data, $id, $parent = 0, $exc = array())
 {
     $data = array_merge(array('field_id' => $id), $data);
     // Загрузка файлов
     $files = files::loadFiles();
     $data_keys = array_keys($data);
     if (is_array($files) && !empty($files)) {
         foreach ($files as $key => $values) {
             if (in_array($key, $data_keys) && $values['error'] == '') {
                 // Удаление файла
                 if (isset($_POST[$key . '_delete']) && (int) $_POST[$key . '_delete'] == 1) {
                     files::deleteFile($data[$key]);
                     $data[$key] = '';
                 }
                 // Добавление файла
                 if ($values['error'] == '') {
                     $data[$key] = $values['name'];
                 }
             }
         }
     }
     // Проверяем существует ли процедура
     if (!$this->__storedProcedureCheck($table . '_update')) {
         // Если процедуры не существует пользуемся генератором процедур
         $this->__storedProcedureGeneration($table, 'update');
     }
     $query = 'CALL `' . $table . '_update`(';
     $params = array();
     foreach ($data as $key => $value) {
         $query .= ':' . $key . ',';
         $params[':' . $key] = $value;
     }
     $query = substr($query, 0, -1) . ')';
     PdoWrap::execute($query, $params);
     expSitemapAll();
     // Логирование оперции
     $this->tableLog(PREF . $table, $id, "2");
 }
コード例 #4
0
ファイル: __pages.class.php プロジェクト: klimjr/cms
 /**
  * Групповые операции
  * @param string $return
  */
 public function groupActions($return = '/')
 {
     if (isset($_POST['action'])) {
         $action = Text::get_post('group_action');
         $ids = Text::get_post('id');
         switch ($action) {
             // Скрытие
             case 'hide':
                 $this->changeActive($ids, 0);
                 location($return);
                 exit;
                 break;
                 // Показ
             // Показ
             case 'show':
                 $this->changeActive($ids, 1);
                 location($return);
                 exit;
                 break;
                 // Удаление
             // Удаление
             case 'delete':
                 // Получение изображений
                 $data = $this->getSomeRows(implode(',', $ids));
                 for ($i = 0; $i < count($data); $i++) {
                     if (isset($data[$i]['image']) && $data[$i]['image'] != '') {
                         files::deleteFile($data[$i]['image']);
                     }
                     if (isset($data[$i]['icon']) && $data[$i]['icon'] != '') {
                         files::deleteFile($data[$i]['icon']);
                     }
                     if (isset($data[$i]['file']) && $data[$i]['file'] != '') {
                         files::deleteFile($data[$i]['file']);
                     }
                 }
                 $this->deleteRowsByIds($ids);
                 location($return);
                 exit;
                 break;
             default:
                 location($return);
                 exit;
                 break;
         }
     }
 }
コード例 #5
0
ファイル: list.php プロジェクト: klimjr/cms
<?php

//	Запрет на обращение к файлу.
if (realpath($_SERVER['SCRIPT_FILENAME']) == realpath(__FILE__)) {
    header('Location: /');
    exit;
}
// Сохранение настроек сайта
if (Text::get_post('do') == 'save_options') {
    // Удаление файлов
    if (isset($_POST['delete']) && !empty($_POST['delete'])) {
        foreach ($_POST['delete'] as $key => $value) {
            files::deleteFile($_POST[$key]);
        }
    }
    // Загрузка файлов
    if (isset($_FILES) && count($_FILES) > 0) {
        $file = files::loadFiles();
        foreach ($file as $key => $value) {
            if (isset($value['name'])) {
                $_POST[$key] = $value['name'];
            }
        }
    }
    PdoWrap::execute('CALL clear_options_checkboxes()');
    foreach ($_POST as $key => $value) {
        if ($key != 'do' && $key != 'save') {
            if (isset($_POST['delete'][$key])) {
                $_POST[$key] = '';
            }
            $query = 'CALL options_update(:field_name, :field_value, :field_user_edit)';