/** * 画像1000枚ごとにインクリメントするディレクトリIDを取得 */ public function dirID($size = null, $md5 = null, $mime = null) { if ($size && $md5 && $mime) { $icdb = new ImageCache2_DataObject_Images(); $icdb->whereAddQUoted('size', '=', $size); $icdb->whereAddQuoted('md5', '=', $md5); $icdb->whereAddQUoted('mime', '=', $mime); $icdb->orderByArray(array('id' => 'ASC')); if ($icdb->find(true)) { $this->found = $icdb->toArray(); return str_pad(ceil($icdb->id / 1000), 5, 0, STR_PAD_LEFT); } } $sql = 'SELECT MAX(' . $this->db->quoteIdentifier('id') . ') + 1 FROM ' . $this->db->quoteIdentifier($this->ini['General']['table']) . ';'; $nextid = $this->db->getOne($sql); if (DB::isError($nextid) || !$nextid) { $nextid = 1; } return str_pad(ceil($nextid / 1000), 5, 0, STR_PAD_LEFT); }
default: $popup = true; } $r_type = 1; } $items = array(); if (!empty($_SERVER['REQUEST_URI'])) { $k_backto = '&from=' . rawurlencode($_SERVER['REQUEST_URI']); } else { $k_backto = ''; } while ($icdb->fetch()) { // 検索結果を配列にし、レンダリング用の要素を付加 // 配列どうしなら+演算子で要素を追加できる // (キーの重複する値を上書きしたいときはarray_merge()を使う) $img = $icdb->toArray(); mb_convert_variables('CP932', 'UTF-8', $img); // ランク・メモは変更されることが多く、一覧用のデータキャッシュに影響を与えないように別に処理する $status = array(); $status['rank'] = $img['rank']; $status['rank_f'] = $img['rank'] == -1 ? 'あぼーん' : $img['rank']; if ($img['rank'] == -1) { $status['rank_i'] = '<img src="img/sn1a.png" width="16" height="16">'; } elseif ($img['rank'] > 0 && $img['rank'] <= 5) { $status['rank_i'] = str_repeat('<img src="img/s1a.png" width="16" height="16">', $img['rank']); } else { $status['rank_i'] = ''; } $status['memo'] = $img['memo']; unset($img['rank'], $img['memo']); // 表示用変数を設定