ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changeset 7647


Ignore:
Timestamp:
Jun 30, 2008, 12:18:08 PM (13 years ago)
Author:
kunitsuji1109
Message:

add webapp_ext/lib/dbを読み込むように対応するための、DBfunctionをifで判定する処理を追加した

Location:
OpenPNE/branches/work/kunitsuji1109/trunk/webapp/lib/db
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/work/kunitsuji1109/trunk/webapp/lib/db/action.php

    r1856 r7647  
    11<?php
     2/**
     3 * @author     KUNIHARU Tsujioka <kunitsuji@gmail.com>
     4 */
    25
    3 function db_action_get_point4c_action_id($c_action_id)
     6/**
     7 * OpenPNE
     8 * @copyright 2005-2006 OpenPNE Project
     9 * @link      http://www.tejimaya.com/openpne.shtml
     10 *
     11 */
     12
     13
     14if (! function_exists('db_action_get_point4c_action_id'))
    415{
    5     $sql = "SELECT point FROM c_action WHERE c_action_id = ?";
    6     $params = array(intval($c_action_id));
    7     return db_get_one($sql, $params);
     16    function db_action_get_point4c_action_id($c_action_id)
     17    {
     18        $sql = "SELECT point FROM c_action WHERE c_action_id = ?";
     19        $params = array(intval($c_action_id));
     20        return db_get_one($sql, $params);
     21    }
    822}
    9 
    1023?>
  • OpenPNE/branches/work/kunitsuji1109/trunk/webapp/lib/db/album.php

    r6771 r7647  
    11<?php
    22/**
    3  * @copyright 2005-2007 OpenPNE Project
    4  * @license   http://www.php.net/license/3_01.txt PHP License 3.01
     3 * @author     KUNIHARU Tsujioka <kunitsuji@gmail.com>
     4 */
     5
     6/**
     7 * OpenPNE
     8 * @copyright 2005-2006 OpenPNE Project
     9 * @link      http://www.tejimaya.com/openpne.shtml
     10 *
    511 */
    612
     
    1319 * @return string
    1420 */
    15 function db_album_public_flag_condition($c_member_id, $u = null, $force = null)
    16 {
    17     $pf_cond = '';
    18     if ($force) {
    19         switch ($force) {
    20         case 'friend':
    21             $pf_cond = " AND c_album.public_flag <> 'private'";
    22             break;
    23         case 'private':
    24             $pf_cond = " AND c_album.public_flag = 'public'";
    25             break;
    26         }
    27     } else {
    28         if (!is_null($u) && $c_member_id != $u) {
    29             $is_friend = db_friend_is_friend($c_member_id, $u);
    30             if ($is_friend) {
     21if (! function_exists('db_album_public_flag_condition'))
     22{
     23    function db_album_public_flag_condition($c_member_id, $u = null, $force = null)
     24    {
     25        $pf_cond = '';
     26        if ($force) {
     27            switch ($force) {
     28            case 'friend':
    3129                $pf_cond = " AND c_album.public_flag <> 'private'";
    32             } else {
     30                break;
     31            case 'private':
    3332                $pf_cond = " AND c_album.public_flag = 'public'";
    34             }
    35         }
    36     }
    37     return $pf_cond;
     33                break;
     34            }
     35        } else {
     36            if (!is_null($u) && $c_member_id != $u) {
     37                $is_friend = db_friend_is_friend($c_member_id, $u);
     38                if ($is_friend) {
     39                    $pf_cond = " AND c_album.public_flag <> 'private'";
     40                } else {
     41                    $pf_cond = " AND c_album.public_flag = 'public'";
     42                }
     43            }
     44        }
     45        return $pf_cond;
     46    }
    3847}
    3948
     
    4251 * @param int $c_album_id
    4352 */
    44 function db_album_get_c_album4c_album_id($c_album_id)
    45 {
    46     $sql = 'SELECT * FROM c_album WHERE c_album_id = ?';
    47     $params = array(intval($c_album_id));
    48 
    49     $album = db_get_row($sql, $params);
    50 
    51     return $album;
     53if (! function_exists('db_album_get_c_album4c_album_id'))
     54{
     55    function db_album_get_c_album4c_album_id($c_album_id)
     56    {
     57        $sql = 'SELECT * FROM c_album WHERE c_album_id = ?';
     58        $params = array(intval($c_album_id));
     59
     60        $album = db_get_row($sql, $params);
     61
     62        return $album;
     63    }
    5264}
    5365
     
    6072 * @param string $force
    6173 */
    62 function db_album_get_c_album_subject_list4c_member_id($c_member_id, $count= 10, $u = null, $force = null)
    63 {
    64     $pf_condition = db_album_public_flag_condition($c_member_id, $u, $force);
    65     $sql = 'SELECT * FROM c_album WHERE c_member_id = ? '
    66          . $pf_condition
    67          . ' ORDER BY u_datetime DESC';
    68 
    69     $params = array(intval($c_member_id));
    70     return db_get_all_limit($sql, 0, $count, $params);
     74if (! function_exists('db_album_get_c_album_subject_list4c_member_id'))
     75{
     76    function db_album_get_c_album_subject_list4c_member_id($c_member_id, $count= 10, $u = null, $force = null)
     77    {
     78       $pf_condition = db_album_public_flag_condition($c_member_id, $u, $force);
     79        $sql = 'SELECT * FROM c_album WHERE c_member_id = ? '
     80             . $pf_condition
     81             . ' ORDER BY u_datetime DESC';
     82
     83        $params = array(intval($c_member_id));
     84        return db_get_all_limit($sql, 0, $count, $params);
     85    }
    7186}
    7287
     
    7590 * @param int $c_album_image_id
    7691 */
    77 function db_album_image_get_c_album_image4id($c_album_image_id)
    78 {
    79     $sql = 'SELECT * FROM c_album_image WHERE c_album_image_id = ?';
    80     $params = array(intval($c_album_image_id));
    81 
    82     return db_get_row($sql,$params);
     92if (! function_exists('db_album_image_get_c_album_image4id'))
     93{
     94    function db_album_image_get_c_album_image4id($c_album_image_id)
     95    {
     96        $sql = 'SELECT * FROM c_album_image WHERE c_album_image_id = ?';
     97        $params = array(intval($c_album_image_id));
     98
     99        return db_get_row($sql,$params);
     100    }
    83101}
    84102
     
    88106 * @return bool true,false
    89107 */
    90 function p_common_is_active_c_album_id($c_album_id)
    91 {
    92     $sql = 'SELECT c_album_id FROM c_album WHERE c_album_id = ?';
    93     return (bool)db_get_one($sql, array(intval($c_album_id)));
     108if (! function_exists('p_common_is_active_c_album_id'))
     109{
     110    function p_common_is_active_c_album_id($c_album_id)
     111    {
     112        $sql = 'SELECT c_album_id FROM c_album WHERE c_album_id = ?';
     113        return (bool)db_get_one($sql, array(intval($c_album_id)));
     114    }
    94115}
    95116
     
    99120 * @return bool true,false
    100121 */
    101 function p_common_is_active_c_album_image_id($c_album_image_id)
    102 {
    103     $sql = 'SELECT c_album_image_id FROM c_album_image WHERE c_album_image_id = ?';
    104     $params = array(intval($c_album_image_id));
    105 
    106     return (bool)db_get_one($sql,$params);
     122if (! function_exists('p_common_is_active_c_album_image_id'))
     123{
     124    function p_common_is_active_c_album_image_id($c_album_image_id)
     125    {
     126        $sql = 'SELECT c_album_image_id FROM c_album_image WHERE c_album_image_id = ?';
     127        $params = array(intval($c_album_image_id));
     128
     129        return (bool)db_get_one($sql,$params);
     130    }
    107131}
    108132
     
    113137 * @return  array
    114138 */
    115 function db_album_c_album_image_list4c_album_id($c_album_id, $page = 1, $page_size = 10)
    116 {
    117     $sql = 'SELECT * FROM c_album_image WHERE c_album_id = ? ORDER BY c_album_image_id DESC';
    118     $params = array(intval($c_album_id));
    119     $list = db_get_all_page($sql, $page, $page_size, $params);
    120 
    121     $sql = 'SELECT COUNT(c_album_image_id) FROM c_album_image WHERE c_album_id = ?';
    122     $params = array(intval($c_album_id));
    123     $total_num = db_get_one($sql, $params);
    124 
    125     if ($total_num != 0) {
    126         $total_page_num =  ceil($total_num / $page_size);
    127         if ($page >= $total_page_num) {
    128             $next = false;
    129         } else {
    130             $next = true;
    131         }
    132 
    133         if ($page <= 1) {
    134             $prev = false;
    135         } else {
    136             $prev = true;
    137         }
    138     }
    139     return array($list, $prev, $next, $total_num);
     139if (! function_exists('db_album_c_album_image_list4c_album_id'))
     140{
     141    function db_album_c_album_image_list4c_album_id($c_album_id, $page = 1, $page_size = 10)
     142    {
     143        $sql = 'SELECT * FROM c_album_image WHERE c_album_id = ? ORDER BY c_album_image_id DESC';
     144        $params = array(intval($c_album_id));
     145        $list = db_get_all_page($sql, $page, $page_size, $params);
     146
     147        $sql = 'SELECT COUNT(c_album_image_id) FROM c_album_image WHERE c_album_id = ?';
     148        $params = array(intval($c_album_id));
     149        $total_num = db_get_one($sql, $params);
     150
     151        if ($total_num != 0) {
     152            $total_page_num =  ceil($total_num / $page_size);
     153            if ($page >= $total_page_num) {
     154                $next = false;
     155            } else {
     156                $next = true;
     157            }
     158
     159            if ($page <= 1) {
     160                $prev = false;
     161            } else {
     162                $prev = true;
     163            }
     164        }
     165        return array($list, $prev, $next, $total_num);
     166    }
    140167}
    141168
     
    146173 * @param int $c_album_image_id
    147174 */
    148 function db_album_image_c_album_image_id_prev4c_album_id($c_album_id, $c_album_image_id)
    149 {
    150     $sql = 'SELECT c_album_image_id FROM c_album_image WHERE c_album_id = ? AND c_album_image_id < ? ORDER BY c_album_image_id DESC';
    151     $params = array(intval($c_album_id), intval($c_album_image_id));
    152     return db_get_one($sql, $params);
     175if (! function_exists('db_album_image_c_album_image_id_prev4c_album_id'))
     176{
     177    function db_album_image_c_album_image_id_prev4c_album_id($c_album_id, $c_album_image_id)
     178    {
     179        $sql = 'SELECT c_album_image_id FROM c_album_image WHERE c_album_id = ? AND c_album_image_id < ? ORDER BY c_album_image_id DESC';
     180        $params = array(intval($c_album_id), intval($c_album_image_id));
     181        return db_get_one($sql, $params);
     182    }
    153183}
    154184
     
    159189 * @param int $c_album_image_id
    160190 */
    161 function db_album_image_c_album_image_id_next4c_album_id($c_album_id, $c_album_image_id)
    162 {
    163     $sql = 'SELECT c_album_image_id FROM c_album_image WHERE c_album_id = ? AND c_album_image_id > ? ORDER BY c_album_image_id';
    164     $params = array(intval($c_album_id), intval($c_album_image_id));
    165     return db_get_one($sql, $params);
     191if (! function_exists('db_album_image_c_album_image_id_next4c_album_id'))
     192{
     193    function db_album_image_c_album_image_id_next4c_album_id($c_album_id, $c_album_image_id)
     194    {
     195        $sql = 'SELECT c_album_image_id FROM c_album_image WHERE c_album_id = ? AND c_album_image_id > ? ORDER BY c_album_image_id';
     196        $params = array(intval($c_album_id), intval($c_album_image_id));
     197        return db_get_one($sql, $params);
     198    }
    166199}
    167200
     
    171204 * @param int $c_member_id
    172205 */
    173 function pne_check_album_public_flag($c_album_id, $c_member_id)
    174 {
    175     $c_album = db_album_get_c_album4c_album_id($c_album_id);
    176     if ($c_album['c_member_id'] == $c_member_id) {
    177         return true;
    178     }
    179 
    180     switch ($c_album['public_flag']) {
    181     case 'public':
    182         $allowed = true;
    183         break;
    184     case 'friend':
    185         $allowed = db_friend_is_friend($c_album['c_member_id'], $c_member_id);
    186         break;
    187     case 'private':
    188     default:
    189         $allowed = false;
    190         break;
    191     }
    192 
    193     return $allowed;
     206if (! function_exists('pne_check_album_public_flag'))
     207{
     208    function pne_check_album_public_flag($c_album_id, $c_member_id)
     209    {
     210        $c_album = db_album_get_c_album4c_album_id($c_album_id);
     211        if ($c_album['c_member_id'] == $c_member_id) {
     212            return true;
     213        }
     214
     215        switch ($c_album['public_flag']) {
     216        case 'public':
     217            $allowed = true;
     218            break;
     219        case 'friend':
     220            $allowed = db_friend_is_friend($c_album['c_member_id'], $c_member_id);
     221            break;
     222        case 'private':
     223        default:
     224            $allowed = false;
     225            break;
     226        }
     227
     228        return $allowed;
     229    }
    194230}
    195231
     
    202238 * @param int $u viewer's c_member_id
    203239 */
    204 function p_fh_album_list_fh_my_album_list4c_member_id($c_member_id, $page_size, $page, $u = null)
    205 {
    206     $pf_cond = db_album_public_flag_condition($c_member_id, $u);
    207     $sql = 'SELECT * FROM c_album WHERE c_member_id = ?'. $pf_cond.
    208            ' ORDER BY r_datetime DESC';
    209     $params = array(intval($c_member_id));
    210     $list = db_get_all_page($sql,$page, $page_size,$params);
    211 
    212     $sql = 'SELECT COUNT(c_album_id) FROM c_album WHERE c_member_id = ?' . $pf_cond;
    213     $total_num = db_get_one($sql, $params);
    214 
    215     if ($total_num != 0) {
    216         $total_page_num =  ceil($total_num / $page_size);
    217         if ($page >= $total_page_num) {
    218             $next = false;
    219         } else {
    220             $next = true;
    221         }
    222 
    223         if ($page <= 1) {
    224             $prev = false;
    225         } else {
    226             $prev = true;
    227         }
    228     }
    229 
    230     return array($list, $prev, $next, $total_num);
     240if (! function_exists('p_fh_album_list_fh_my_album_list4c_member_id'))
     241{
     242    function p_fh_album_list_fh_my_album_list4c_member_id($c_member_id, $page_size, $page, $u = null)
     243    {
     244        $pf_cond = db_album_public_flag_condition($c_member_id, $u);
     245        $sql = 'SELECT * FROM c_album WHERE c_member_id = ?'. $pf_cond.
     246               ' ORDER BY r_datetime DESC';
     247        $params = array(intval($c_member_id));
     248        $list = db_get_all_page($sql,$page, $page_size,$params);
     249
     250        $sql = 'SELECT COUNT(c_album_id) FROM c_album WHERE c_member_id = ?' . $pf_cond;
     251        $total_num = db_get_one($sql, $params);
     252
     253        if ($total_num != 0) {
     254            $total_page_num =  ceil($total_num / $page_size);
     255            if ($page >= $total_page_num) {
     256                $next = false;
     257            } else {
     258                $next = true;
     259            }
     260
     261            if ($page <= 1) {
     262                $prev = false;
     263            } else {
     264                $prev = true;
     265            }
     266        }
     267
     268        return array($list, $prev, $next, $total_num);
     269    }
    231270}
    232271
     
    236275 * 空白(全角半角問わない)でand検索可
    237276 */
    238 function p_h_album_list_all_search_c_album4c_album($keyword, $page_size, $page, $c_member_id = '')
    239 {
    240     $params = array();
    241 
    242     $select = 'SELECT *';
    243     $from = ' FROM c_album';
    244 
    245     //自分のアルバムだけを対象にする事も出来る
    246     if ($c_member_id) {
    247         $where = ' WHERE c_member_id = ?';
    248         $params[] = intval($c_member_id);
    249     } else {
    250         $where = " WHERE public_flag = 'public'";
    251     }
    252 
    253     //and検索を実装
    254     //subject,body を検索
    255     if ($keyword) {
    256         //全角空白を半角に統一
    257         $keyword = str_replace(' ', ' ', $keyword);
    258 
    259         $keyword_list = explode(' ', $keyword);
    260         foreach ($keyword_list as $word) {
    261             $word = check_search_word($word);
    262 
    263             $where .= ' AND (subject LIKE ? OR description LIKE ?)';
    264             $params[] = '%'.$word.'%';
    265             $params[] = '%'.$word.'%';
    266         }
    267     }
    268     $order = " ORDER BY r_datetime DESC";
    269 
    270     $sql = $select . $from . $where . $order;
    271 
    272     $list = db_get_all_page($sql, $page, $page_size, $params);
    273     foreach($list as $key => $value) {
    274         $list[$key]['c_member'] = db_member_c_member_with_profile($value['c_member_id']);
    275     }
    276 
    277 
    278     $sql = 'SELECT COUNT(c_album_id)' . $from . $where;
    279     $total_num = db_get_one($sql, $params);
    280 
    281     if ($total_num != 0) {
    282         $total_page_num =  ceil($total_num / $page_size);
    283         if ($page >= $total_page_num) {
    284             $next = false;
     277if (! function_exists('p_h_album_list_all_search_c_album4c_album'))
     278{
     279    function p_h_album_list_all_search_c_album4c_album($keyword, $page_size, $page, $c_member_id = '')
     280    {
     281        $params = array();
     282
     283        $select = 'SELECT *';
     284        $from = ' FROM c_album';
     285
     286        //自分のアルバムだけを対象にする事も出来る
     287        if ($c_member_id) {
     288            $where = ' WHERE c_member_id = ?';
     289            $params[] = intval($c_member_id);
    285290        } else {
    286             $next = true;
    287         }
    288         if ($page <= 1) {
    289             $prev = false;
    290         } else {
    291             $prev = true;
    292         }
    293     }
    294     return array($list , $prev , $next, $total_num);
     291            $where = " WHERE public_flag = 'public'";
     292        }
     293
     294        //and検索を実装
     295        //subject,body を検索
     296        if ($keyword) {
     297            //全角空白を半角に統一
     298            $keyword = str_replace(' ', ' ', $keyword);
     299
     300            $keyword_list = explode(' ', $keyword);
     301            foreach ($keyword_list as $word) {
     302                $word = check_search_word($word);
     303
     304                $where .= ' AND (subject LIKE ? OR description LIKE ?)';
     305                $params[] = '%'.$word.'%';
     306                $params[] = '%'.$word.'%';
     307            }
     308        }
     309        $order = " ORDER BY r_datetime DESC";
     310
     311        $sql = $select . $from . $where . $order;
     312
     313        $list = db_get_all_page($sql, $page, $page_size, $params);
     314        foreach($list as $key => $value) {
     315            $list[$key]['c_member'] = db_member_c_member_with_profile($value['c_member_id']);
     316        }
     317
     318
     319        $sql = 'SELECT COUNT(c_album_id)' . $from . $where;
     320        $total_num = db_get_one($sql, $params);
     321
     322        if ($total_num != 0) {
     323            $total_page_num =  ceil($total_num / $page_size);
     324            if ($page >= $total_page_num) {
     325                $next = false;
     326            } else {
     327                $next = true;
     328            }
     329            if ($page <= 1) {
     330                $prev = false;
     331            } else {
     332                $prev = true;
     333            }
     334        }
     335        return array($list , $prev , $next, $total_num);
     336    }
    295337}
    296338
     
    298340 * フレンドの最新アルバムリスト
    299341 */
    300 function p_h_album_list_friend_h_album_list_friend4c_member_id($c_member_id, $page_size, $page)
    301 {
    302     $friends = db_friend_c_member_id_list($c_member_id, true);
    303     if (!$friends) {
    304         return array(array(), false, false, 0);
    305     }
    306 
    307     $pf_cond = db_album_public_flag_condition($c_member_id, $u);
    308     $from = "c_album, c_friend";
    309     $where = "c_friend.c_member_id_from = ?" .
    310             " AND c_album.c_member_id = c_friend.c_member_id_to" .
    311             ' AND public_flag <> \'private\'';
    312 
    313     $sql = "SELECT c_album.* FROM {$from} WHERE {$where}" .
    314             " ORDER BY c_album.r_datetime DESC";
    315     $params = array(intval($c_member_id));
    316     $lst = db_get_all_page($sql, $page, $page_size, $params);
    317 
    318     foreach ($lst as $key=>$value) {
    319         $lst[$key]['c_member'] = db_member_c_member4c_member_id($value['c_member_id']);
    320     }
    321 
    322     $sql = "SELECT count(*) FROM {$from} WHERE {$where}";
    323     $total_num = db_get_one($sql, $params);
    324 
    325     if ($total_num != 0) {
    326         $total_page_num =  ceil($total_num / $page_size);
    327         if ($page >= $total_page_num) {
    328             $next = false;
    329         } else {
    330             $next = true;
    331         }
    332 
    333         if ($page <= 1) {
    334             $prev = false;
    335         } else {
    336             $prev = true;
    337         }
    338     }
    339 
    340     return array($lst, $prev, $next, $total_num);
     342if (! function_exists('p_h_album_list_friend_h_album_list_friend4c_member_id'))
     343{
     344    function p_h_album_list_friend_h_album_list_friend4c_member_id($c_member_id, $page_size, $page)
     345    {
     346        $friends = db_friend_c_member_id_list($c_member_id, true);
     347        if (!$friends) {
     348            return array(array(), false, false, 0);
     349        }
     350
     351        $pf_cond = db_album_public_flag_condition($c_member_id, $u);
     352        $from = "c_album, c_friend";
     353        $where = "c_friend.c_member_id_from = ?" .
     354                " AND c_album.c_member_id = c_friend.c_member_id_to" .
     355                ' AND public_flag <> \'private\'';
     356
     357        $sql = "SELECT c_album.* FROM {$from} WHERE {$where}" .
     358                " ORDER BY c_album.r_datetime DESC";
     359        $params = array(intval($c_member_id));
     360        $lst = db_get_all_page($sql, $page, $page_size, $params);
     361
     362        foreach ($lst as $key=>$value) {
     363            $lst[$key]['c_member'] = db_member_c_member4c_member_id($value['c_member_id']);
     364        }
     365
     366        $sql = "SELECT count(*) FROM {$from} WHERE {$where}";
     367        $total_num = db_get_one($sql, $params);
     368
     369        if ($total_num != 0) {
     370            $total_page_num =  ceil($total_num / $page_size);
     371            if ($page >= $total_page_num) {
     372                $next = false;
     373            } else {
     374                $next = true;
     375            }
     376
     377            if ($page <= 1) {
     378                $prev = false;
     379            } else {
     380                $prev = true;
     381            }
     382        }
     383
     384        return array($lst, $prev, $next, $total_num);
     385    }
    341386}
    342387
     
    349394 * @return  array
    350395 */
    351 function p_h_home_c_album_friend_list4c_member_id($c_member_id, $limit)
    352 {
    353     $friends = db_friend_c_member_id_list($c_member_id, true);
    354     if (!$friends) {
    355         return array();
    356     }
    357     $ids = implode(',', array_map('intval', $friends));
    358 
    359     $sql = 'SELECT * FROM c_album' .
    360             ' WHERE c_member_id IN (' . $ids . ')' .
    361             ' AND public_flag <> \'private\'' .
    362             ' ORDER BY u_datetime DESC';
    363 
    364     $c_album_friend_list = db_get_all_limit($sql, 0, $limit);
    365 
    366     foreach ($c_album_friend_list as $key => $value) {
    367         $c_member = db_member_c_member4c_member_id_LIGHT($value['c_member_id']);
    368         $c_album_friend_list[$key]['nickname'] = $c_member['nickname'];
    369     }
    370 
    371     return $c_album_friend_list;
     396if (! function_exists('p_h_home_c_album_friend_list4c_member_id'))
     397{
     398    function p_h_home_c_album_friend_list4c_member_id($c_member_id, $limit)
     399    {
     400        $friends = db_friend_c_member_id_list($c_member_id, true);
     401        if (!$friends) {
     402            return array();
     403        }
     404        $ids = implode(',', array_map('intval', $friends));
     405
     406        $sql = 'SELECT * FROM c_album' .
     407                ' WHERE c_member_id IN (' . $ids . ')' .
     408                ' AND public_flag <> \'private\'' .
     409                ' ORDER BY u_datetime DESC';
     410
     411        $c_album_friend_list = db_get_all_limit($sql, 0, $limit);
     412
     413        foreach ($c_album_friend_list as $key => $value) {
     414            $c_member = db_member_c_member4c_member_id_LIGHT($value['c_member_id']);
     415            $c_album_friend_list[$key]['nickname'] = $c_member['nickname'];
     416        }
     417
     418        return $c_album_friend_list;
     419    }
    372420}
    373421
     
    375423 * アルバムを追加
    376424 */
    377 function db_album_insert_c_album($c_member_id, $subject, $description,$public_flag)
    378 {
    379     $data = array(
    380         'c_member_id' => intval($c_member_id),
    381         'subject' => $subject,
    382         'description' => $description,
    383         'public_flag' => $public_flag,
    384         'u_datetime' => db_now(),
    385         'r_datetime' => db_now(),
    386         'album_cover_image' => '',
    387     );
    388     return db_insert('c_album', $data);
    389 }
    390 
    391 
    392 function db_album_update_c_album($c_album_id,$subject,$description,$public_flag,$image_filename)
    393 {
    394     $data = array(
    395         'subject' => $subject,
    396         'description' => $description,
    397         'public_flag' => $public_flag,
    398         'u_datetime' => db_now(),
    399     );
    400     if ($image_filename) $data['album_cover_image'] = $image_filename;
    401 
    402     $where = array(
    403         'c_album_id' => intval($c_album_id),
    404     );
    405     return db_update('c_album', $data, $where);
    406 
    407 }
    408 
    409 function db_album_update_c_album_image($c_album_image_id,$image_filename,$image_description,$filesize)
    410 {
    411     $data = array(
    412         'image_description' => $image_description,
    413     );
    414 
    415      if ($image_filename) {
    416         $data['image_filename'] = $image_filename;
    417         $data['filesize'] = $filesize;
    418      }
    419 
    420     $where = array(
    421         'c_album_image_id' => intval($c_album_image_id),
    422     );
    423 
    424     return db_update('c_album_image', $data, $where);
     425if (! function_exists('db_album_insert_c_album'))
     426{
     427    function db_album_insert_c_album($c_member_id, $subject, $description,$public_flag)
     428    {
     429        $data = array(
     430            'c_member_id' => intval($c_member_id),
     431            'subject' => $subject,
     432            'description' => $description,
     433            'public_flag' => $public_flag,
     434            'u_datetime' => db_now(),
     435            'r_datetime' => db_now(),
     436            'album_cover_image' => '',
     437        );
     438        return db_insert('c_album', $data);
     439    }
     440}
     441
     442
     443if (! function_exists('db_album_update_c_album'))
     444{
     445    function db_album_update_c_album($c_album_id,$subject,$description,$public_flag,$image_filename)
     446    {
     447        $data = array(
     448            'subject' => $subject,
     449            'description' => $description,
     450            'public_flag' => $public_flag,
     451            'u_datetime' => db_now(),
     452        );
     453        if ($image_filename) $data['album_cover_image'] = $image_filename;
     454
     455        $where = array(
     456            'c_album_id' => intval($c_album_id),
     457        );
     458        return db_update('c_album', $data, $where);
     459    }
     460}
     461
     462if (! function_exists('db_album_update_c_album_image'))
     463{
     464    function db_album_update_c_album_image($c_album_image_id,$image_filename,$image_description,$filesize)
     465    {
     466        $data = array(
     467            'image_description' => $image_description,
     468        );
     469
     470         if ($image_filename) {
     471            $data['image_filename'] = $image_filename;
     472            $data['filesize'] = $filesize;
     473         }
     474
     475        $where = array(
     476            'c_album_image_id' => intval($c_album_image_id),
     477        );
     478
     479        return db_update('c_album_image', $data, $where);
     480    }
    425481
    426482}
     
    429485 * アルバムの情報を更新
    430486 */
    431 function db_album_update_c_album_cover($c_album_id,$subject,$description,$album_cover_image,$public_flag)
    432 {
    433     $data = array(
    434         'subject' => $subject,
    435         'description' => $description,
    436         'public_flag' => $public_flag,
    437         'u_datetime' => db_now(),
    438     );
    439     if ($album_cover_image) $data['album_cover_image'] = $album_cover_image;
    440 
    441     $where = array(
    442         'c_album_id' => intval($c_album_id),
    443     );
    444 
    445     return db_update('c_album', $data, $where);
     487if (! function_exists('db_album_update_c_album_cover'))
     488{
     489    function db_album_update_c_album_cover($c_album_id,$subject,$description,$album_cover_image,$public_flag)
     490    {
     491        $data = array(
     492            'subject' => $subject,
     493            'description' => $description,
     494            'public_flag' => $public_flag,
     495            'u_datetime' => db_now(),
     496        );
     497        if ($album_cover_image) $data['album_cover_image'] = $album_cover_image;
     498
     499        $where = array(
     500            'c_album_id' => intval($c_album_id),
     501        );
     502
     503        return db_update('c_album', $data, $where);
     504    }
    446505}
    447506
     
    449508 * アルバムの表紙写真の名前を更新
    450509 */
    451 function db_album_update_c_album_album_cover_image($c_album_id,$album_cover_image)
    452 {
    453     $data = array(
    454         'album_cover_image' => $album_cover_image,
    455         'u_datetime' => db_now(),
    456     );
    457 
    458     $where = array(
    459         'c_album_id' => intval($c_album_id),
    460     );
    461     return db_update('c_album', $data, $where);
     510if (! function_exists('db_album_update_c_album_album_cover_image'))
     511{
     512    function db_album_update_c_album_album_cover_image($c_album_id,$album_cover_image)
     513    {
     514        $data = array(
     515            'album_cover_image' => $album_cover_image,
     516            'u_datetime' => db_now(),
     517        );
     518
     519        $where = array(
     520            'c_album_id' => intval($c_album_id),
     521        );
     522        return db_update('c_album', $data, $where);
     523    }
    462524}
    463525
     
    466528 * @param int $album_id
    467529 */
    468 function db_album_update_c_album_u_datetime($album_id)
    469 {
    470     $data = array(
    471         'u_datetime' => db_now(),
    472     );
    473 
    474     $where =array(
    475         'c_album_id' => $album_id,
    476     );
    477     return db_update('c_album',$data,$where);
     530if (! function_exists('db_album_update_c_album_u_datetime'))
     531{
     532    function db_album_update_c_album_u_datetime($album_id)
     533    {
     534        $data = array(
     535            'u_datetime' => db_now(),
     536        );
     537
     538        $where =array(
     539            'c_album_id' => $album_id,
     540        );
     541        return db_update('c_album',$data,$where);
     542    }
    478543}
    479544
     
    487552 * @param int $filesize
    488553 */
    489 function db_insert_c_album_image($c_album_id, $c_member_id, $image_filename, $image_description, $filesize = 0)
    490 {
    491     $data = array(
    492         'c_album_id' => $c_album_id,
    493         'c_member_id' => $c_member_id,
    494         'image_description' => $image_description,
    495         'image_filename' => $image_filename,
    496         'filesize' => $filesize,
    497         'r_datetime' => db_now(),
    498     );
    499 
    500     $insert_id = db_insert('c_album_image', $data);
    501     if ($insert_id) {
    502         db_album_update_c_album_u_datetime($c_album_id);
    503     }
    504 
    505     return $insert_id;
     554if (! function_exists('db_insert_c_album_image'))
     555{
     556    function db_insert_c_album_image($c_album_id, $c_member_id, $image_filename, $image_description, $filesize = 0)
     557    {
     558        $data = array(
     559            'c_album_id' => $c_album_id,
     560            'c_member_id' => $c_member_id,
     561            'image_description' => $image_description,
     562            'image_filename' => $image_filename,
     563            'filesize' => $filesize,
     564            'r_datetime' => db_now(),
     565        );
     566
     567        $insert_id = db_insert('c_album_image', $data);
     568        if ($insert_id) {
     569            db_album_update_c_album_u_datetime($c_album_id);
     570        }
     571
     572        return $insert_id;
     573    }
    506574}
    507575
     
    510578 * @param int $c_album_id
    511579 */
    512 function db_album_delete_c_album($c_album_id)
    513 {
    514     $sql = 'SELECT image_filename FROM c_album_image WHERE c_album_id = ?';
    515     $filename_list = db_get_col($sql, array($c_album_id));
    516 
    517     //アルバムに登録された写真
    518     foreach ($filename_list as $filename) {
    519         db_album_image_data_delete($filename);
    520     }
    521 
    522     // アルバムの表紙
    523     $c_album = db_album_get_c_album4c_album_id($c_album_id);
    524     if ($c_album['album_cover_image']) {
    525         db_album_image_data_delete($c_album['album_cover_image']);
    526     }
    527 
    528     $params = array(intval($c_album_id));
    529 
    530     //アルバムと写真の関連
    531     $sql = 'DELETE FROM c_album_image WHERE c_album_id = ?';
    532     db_query($sql, $params);
    533 
    534     // アルバム
    535     $sql = 'DELETE FROM c_album WHERE c_album_id = ?';
    536     db_query($sql, $params);
    537 
    538     return;
     580if (! function_exists('db_album_delete_c_album'))
     581{
     582    function db_album_delete_c_album($c_album_id)
     583    {
     584        $sql = 'SELECT image_filename FROM c_album_image WHERE c_album_id = ?';
     585        $filename_list = db_get_col($sql, array($c_album_id));
     586
     587        //アルバムに登録された写真
     588        foreach ($filename_list as $filename) {
     589            db_album_image_data_delete($filename);
     590        }
     591
     592        // アルバムの表紙
     593        $c_album = db_album_get_c_album4c_album_id($c_album_id);
     594        if ($c_album['album_cover_image']) {
     595            db_album_image_data_delete($c_album['album_cover_image']);
     596        }
     597
     598        $params = array(intval($c_album_id));
     599
     600        //アルバムと写真の関連
     601        $sql = 'DELETE FROM c_album_image WHERE c_album_id = ?';
     602        db_query($sql, $params);
     603
     604        // アルバム
     605        $sql = 'DELETE FROM c_album WHERE c_album_id = ?';
     606        db_query($sql, $params);
     607
     608        return;
     609    }
    539610}
    540611
     
    542613 * c_album_image_idをキーとしてc_album_imageテーブルからデータを削除
    543614 */
    544 function db_album_delete_c_album_image($c_album_image_id)
    545 {
    546     $sql = 'DELETE FROM c_album_image WHERE c_album_image_id = ?';
    547     $params = array(intval($c_album_image_id));
    548 
    549     return db_query($sql, $params);
     615if (! function_exists('db_album_delete_c_album_image'))
     616{
     617    function db_album_delete_c_album_image($c_album_image_id)
     618    {
     619        $sql = 'DELETE FROM c_album_image WHERE c_album_image_id = ?';
     620        $params = array(intval($c_album_image_id));
     621
     622        return db_query($sql, $params);
     623    }
    550624}
    551625
     
    553627 * アルバム用の写真を登録
    554628 */
    555 function image_insert_c_image_album4tmp($prefix, $tmpfile)
    556 {
    557     if (!$tmpfile || preg_match('/[^\.\w]/', $tmpfile)) return false;
    558 
    559     $path_parts = pathinfo($tmpfile);
    560     $ext = $path_parts['extension'];
    561     $ext = strtolower($ext);
    562 
    563     $allowed_ext = array('jpg', 'jpeg', 'gif', 'png');
    564     if (!in_array($ext, $allowed_ext)) {
     629if (! function_exists('image_insert_c_image_album4tmp'))
     630{
     631    function image_insert_c_image_album4tmp($prefix, $tmpfile)
     632    {
     633        if (!$tmpfile || preg_match('/[^\.\w]/', $tmpfile)) return false;
     634
     635        $path_parts = pathinfo($tmpfile);
     636        $ext = $path_parts['extension'];
     637        $ext = strtolower($ext);
     638
     639        $allowed_ext = array('jpg', 'jpeg', 'gif', 'png');
     640        if (!in_array($ext, $allowed_ext)) {
     641            return false;
     642        }
     643
     644        $filename = sprintf('%s_%s.%s', $prefix, time(), $ext);
     645
     646        if (!OPENPNE_TMP_IMAGE_DB) {
     647            $img_tmp_dir_path = OPENPNE_VAR_DIR . '/tmp/';
     648            $filepath = $img_tmp_dir_path . basename($tmpfile);
     649
     650            if (db_image_insert_c_image_album2($filename, $filepath)) {
     651                return $filename;
     652            }
     653        } else {
     654            $c_tmp_image = db_image_c_tmp_image4filename($tmpfile);
     655
     656            $params = array(
     657                'filename' => $filename,
     658                'bin' => $c_tmp_image['bin'],
     659                'r_datetime' => db_now(),
     660                'type' => '',
     661            );
     662
     663            $db =& db_get_instance('image');
     664            if ($db->insert("c_image", $params)) {
     665                return $filename;
     666            }
     667        }
    565668        return false;
    566669    }
    567 
    568     $filename = sprintf('%s_%s.%s', $prefix, time(), $ext);
    569 
    570     if (!OPENPNE_TMP_IMAGE_DB) {
    571         $img_tmp_dir_path = OPENPNE_VAR_DIR . '/tmp/';
    572         $filepath = $img_tmp_dir_path . basename($tmpfile);
    573 
    574         if (db_image_insert_c_image_album2($filename, $filepath)) {
    575             return $filename;
    576         }
    577     } else {
    578         $c_tmp_image = db_image_c_tmp_image4filename($tmpfile);
    579 
    580         $params = array(
    581             'filename' => $filename,
    582             'bin' => $c_tmp_image['bin'],
     670}
     671
     672if (! function_exists('db_image_insert_c_image_album2'))
     673{
     674    function db_image_insert_c_image_album2($filename, $filepath)
     675    {
     676        if (!is_readable($filepath)) return false;
     677
     678        $fp = fopen($filepath, 'rb');
     679        $image_data = fread($fp, filesize($filepath));
     680        fclose($fp);
     681
     682        // 写真かどうかのチェック
     683        if (!@imagecreatefromstring($image_data)) return false;
     684
     685        //TODO:typeフィールドを使う
     686        return db_image_insert_c_image_album($filename, $image_data,$size);
     687    }
     688}
     689
     690if (! function_exists('db_image_insert_c_image_album'))
     691{
     692    function db_image_insert_c_image_album($filename, $bin, $type = '')
     693    {
     694        $db =& db_get_instance('image');
     695
     696        $data = array(
     697            'filename'   => $filename,
     698            'bin'        => base64_encode($bin),
     699            'type'       => $type,
    583700            'r_datetime' => db_now(),
    584             'type' => '',
    585         );
    586 
     701        );
     702        return $db->insert('c_image', $data, 'c_image_id');
     703    }
     704}
     705
     706if (! function_exists('db_album_image_data_delete'))
     707{
     708    function db_album_image_data_delete($image_filename)
     709    {
     710        if (!$image_filename) return false;
     711
     712        db_album_image_delete_c_image($image_filename);
     713
     714        // cacheの削除
     715        image_cache_delete($image_filename);
     716    }
     717}
     718
     719if (! function_exists('db_album_image_delete_c_image'))
     720{
     721    function db_album_image_delete_c_image($filename)
     722    {
    587723        $db =& db_get_instance('image');
    588         if ($db->insert("c_image", $params)) {
    589             return $filename;
    590         }
    591     }
    592     return false;
    593 }
    594 
    595 function db_image_insert_c_image_album2($filename, $filepath)
    596 {
    597     if (!is_readable($filepath)) return false;
    598 
    599     $fp = fopen($filepath, 'rb');
    600     $image_data = fread($fp, filesize($filepath));
    601     fclose($fp);
    602 
    603     // 写真かどうかのチェック
    604     if (!@imagecreatefromstring($image_data)) return false;
    605 
    606     //TODO:typeフィールドを使う
    607     return db_image_insert_c_image_album($filename, $image_data,$size);
    608 }
    609 
    610 function db_image_insert_c_image_album($filename, $bin, $type = '')
    611 {
    612     $db =& db_get_instance('image');
    613 
    614     $data = array(
    615         'filename'   => $filename,
    616         'bin'        => base64_encode($bin),
    617         'type'       => $type,
    618         'r_datetime' => db_now(),
    619     );
    620     return $db->insert('c_image', $data, 'c_image_id');
    621 }
    622 
    623 function db_album_image_data_delete($image_filename)
    624 {
    625     if (!$image_filename) return false;
    626 
    627     db_album_image_delete_c_image($image_filename);
    628 
    629     // cacheの削除
    630     image_cache_delete($image_filename);
    631 }
    632 
    633 function db_album_image_delete_c_image($filename)
    634 {
    635     $db =& db_get_instance('image');
    636 
    637     $sql = 'DELETE FROM c_image WHERE filename = ?';
    638     $params = array($filename);
    639     return $db->query($sql, $params);
    640 }
    641 
    642 function db_image_is_c_album_image4filename($filename)
    643 {
    644     if (!$filename) return false;
    645 
    646     $db =& db_get_instance('image');
    647 
    648     $sql = 'SELECT c_image_id FROM c_image WHERE filename = ?';
    649     $params = array($filename);
    650     return (bool)$db->get_one($sql, $params);
     724
     725        $sql = 'DELETE FROM c_image WHERE filename = ?';
     726        $params = array($filename);
     727        return $db->query($sql, $params);
     728    }
     729}
     730
     731if (! function_exists('db_image_is_c_album_image4filename'))
     732{
     733    function db_image_is_c_album_image4filename($filename)
     734    {
     735        if (!$filename) return false;
     736
     737        $db =& db_get_instance('image');
     738
     739        $sql = 'SELECT c_image_id FROM c_image WHERE filename = ?';
     740        $params = array($filename);
     741        return (bool)$db->get_one($sql, $params);
     742    }
    651743}
    652744
     
    657749 * @return int
    658750 */
    659 function db_album_sum_filesize4c_member_id($c_member_id)
    660 {
    661     $sql = 'SELECT filesize FROM c_album_image WHERE c_member_id = ?';
    662     $list = db_get_col($sql, array($c_member_id));
    663     return array_sum($list);
     751if (! function_exists('db_album_sum_filesize4c_member_id'))
     752{
     753    function db_album_sum_filesize4c_member_id($c_member_id)
     754    {
     755        $sql = 'SELECT filesize FROM c_album_image WHERE c_member_id = ?';
     756        $list = db_get_col($sql, array($c_member_id));
     757        return array_sum($list);
     758    }
    664759}
    665760
     
    675770 * @return bool
    676771 */
    677 function db_album_is_insertable4c_member_id($c_member_id, $new_filesize = 0)
    678 {
    679     if (!OPENPNE_ALBUM_LIMIT) {
     772if (! function_exists('db_album_is_insertable4c_member_id'))
     773{
     774    function db_album_is_insertable4c_member_id($c_member_id, $new_filesize = 0)
     775    {
     776        if (!OPENPNE_ALBUM_LIMIT) {
     777            return true;
     778        }
     779
     780        $size = db_album_sum_filesize4c_member_id($c_member_id) + $new_filesize;
     781
     782        $mb = 1048576;
     783        if (OPENPNE_ALBUM_LIMIT * $mb < $size) {
     784            return false;
     785        }
     786
    680787        return true;
    681788    }
    682 
    683     $size = db_album_sum_filesize4c_member_id($c_member_id) + $new_filesize;
    684 
    685     $mb = 1048576;
    686     if (OPENPNE_ALBUM_LIMIT * $mb < $size) {
    687         return false;
    688     }
    689 
    690     return true;
    691789}
    692790
Note: See TracChangeset for help on using the changeset viewer.