/** * 分類の編集 * * @param array $queries * @param array $options * * @return resource */ function update_categories($queries, $options = array()) { $queries = db_placeholder($queries); $options = array('id' => isset($options['id']) ? $options['id'] : null, 'update' => isset($options['update']) ? $options['update'] : null); // 最終編集日時を確認 if (isset($options['id']) && isset($options['update']) && (!isset($queries['set']['modified']) || $queries['set']['modified'] !== false)) { $categories = db_select(array('from' => DATABASE_PREFIX . 'categories', 'where' => array('id = :id AND modified > :update', array('id' => $options['id'], 'update' => $options['update'])))); if (!empty($categories)) { error('編集開始後にデータが更新されています。'); } } // 初期値を取得 $defaults = default_categories(); if (isset($queries['set']['modified'])) { if ($queries['set']['modified'] === false) { unset($queries['set']['modified']); } } else { $queries['set']['modified'] = $defaults['modified']; } // データを編集 $queries['update'] = DATABASE_PREFIX . 'categories'; $resource = db_update($queries); if (!$resource) { return $resource; } return $resource; }
warning($warnings); } } else { if (empty($warnings)) { $_SESSION['post']['category'] = $post['category']; // フォワード forward('/admin/category_post'); } else { $_view['category'] = $post['category']; $_view['warnings'] = $warnings; } } } else { // 初期データを取得 if (empty($_GET['id'])) { $_view['category'] = default_categories(); } else { $categories = select_categories(array('where' => array('id = :id', array('id' => $_GET['id'])))); if (empty($categories)) { warning('編集データが見つかりません。'); } else { $_view['category'] = $categories[0]; } } // 投稿セッションを初期化 unset($_SESSION['post']); // 編集開始日時を記録 if (!empty($_GET['id'])) { $_SESSION['update']['category'] = localdate('Y-m-d H:i:s'); } }