[ Index ] |
|
Code source de XOOPS 2.0.17.1 |
1 <?php 2 // $Id: imagesetimg.php 506 2006-05-26 23:10:37Z skalpa $ 3 // ------------------------------------------------------------------------ // 4 // XOOPS - PHP Content Management System // 5 // Copyright (c) 2000 XOOPS.org // 6 // <http://www.xoops.org/> // 7 // ------------------------------------------------------------------------ // 8 // This program is free software; you can redistribute it and/or modify // 9 // it under the terms of the GNU General Public License as published by // 10 // the Free Software Foundation; either version 2 of the License, or // 11 // (at your option) any later version. // 12 // // 13 // You may not change or alter any portion of this comment or credits // 14 // of supporting developers from this source code or any supporting // 15 // source code which is considered copyrighted (c) material of the // 16 // original comment or credit authors. // 17 // // 18 // This program is distributed in the hope that it will be useful, // 19 // but WITHOUT ANY WARRANTY; without even the implied warranty of // 20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // 21 // GNU General Public License for more details. // 22 // // 23 // You should have received a copy of the GNU General Public License // 24 // along with this program; if not, write to the Free Software // 25 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // 26 // ------------------------------------------------------------------------ // 27 // Author: Kazumi Ono (AKA onokazu) // 28 // URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // 29 // Project: The XOOPS Project // 30 // ------------------------------------------------------------------------- // 31 32 if (!defined('XOOPS_ROOT_PATH')) { 33 exit(); 34 } 35 36 class XoopsImagesetimg extends XoopsObject 37 { 38 function XoopsImagesetimg() 39 { 40 $this->XoopsObject(); 41 $this->initVar('imgsetimg_id', XOBJ_DTYPE_INT, null, false); 42 $this->initVar('imgsetimg_file', XOBJ_DTYPE_OTHER, null, false); 43 $this->initVar('imgsetimg_body', XOBJ_DTYPE_SOURCE, null, false); 44 $this->initVar('imgsetimg_imgset', XOBJ_DTYPE_INT, null, false); 45 } 46 } 47 48 /** 49 * XOOPS imageset image handler class. 50 * This class is responsible for providing data access mechanisms to the data source 51 * of XOOPS imageset image class objects. 52 * 53 * 54 * @author Kazumi Ono <onokazu@xoops.org> 55 */ 56 57 class XoopsImagesetimgHandler extends XoopsObjectHandler 58 { 59 60 function &create($isNew = true) 61 { 62 $imgsetimg = new XoopsImagesetimg(); 63 if ($isNew) { 64 $imgsetimg->setNew(); 65 } 66 return $imgsetimg; 67 } 68 69 function &get($id) 70 { 71 $imgsetimg = false; 72 $id = intval($id); 73 if ($id > 0) { 74 $sql = 'SELECT * FROM '.$this->db->prefix('imgsetimg').' WHERE imgsetimg_id='.$id; 75 if (!$result = $this->db->query($sql)) { 76 return $imgsetimg; 77 } 78 $numrows = $this->db->getRowsNum($result); 79 if ($numrows == 1) { 80 $imgsetimg = new XoopsImagesetimg(); 81 $imgsetimg->assignVars($this->db->fetchArray($result)); 82 } 83 } 84 return $imgsetimg; 85 } 86 87 function insert(&$imgsetimg) 88 { 89 if (strtolower(get_class($imgsetimg)) != 'xoopsimagesetimg') { 90 return false; 91 } 92 if (!$imgsetimg->isDirty()) { 93 return true; 94 } 95 if (!$imgsetimg->cleanVars()) { 96 return false; 97 } 98 foreach ($imgsetimg->cleanVars as $k => $v) { 99 ${$k} = $v; 100 } 101 if ($imgsetimg->isNew()) { 102 $imgsetimg_id = $this->db->genId('imgsetimg_imgsetimg_id_seq'); 103 $sql = sprintf("INSERT INTO %s (imgsetimg_id, imgsetimg_file, imgsetimg_body, imgsetimg_imgset) VALUES (%u, %s, %s, %s)", $this->db->prefix('imgsetimg'), $imgsetimg_id, $this->db->quoteString($imgsetimg_file), $this->db->quoteString($imgsetimg_body), $this->db->quoteString($imgsetimg_imgset)); 104 } else { 105 $sql = sprintf("UPDATE %s SET imgsetimg_file = %s, imgsetimg_body = %s, imgsetimg_imgset = %s WHERE imgsetimg_id = %u", $this->db->prefix('imgsetimg'), $this->db->quoteString($imgsetimg_file), $this->db->quoteString($imgsetimg_body), $this->db->quoteString($imgsetimg_imgset), $imgsetimg_id); 106 } 107 if (!$result = $this->db->query($sql)) { 108 return false; 109 } 110 if (empty($imgsetimg_id)) { 111 $imgsetimg_id = $this->db->getInsertId(); 112 } 113 $imgsetimg->assignVar('imgsetimg_id', $imgsetimg_id); 114 return true; 115 } 116 117 function delete(&$imgsetimg) 118 { 119 if (strtolower(get_class($imgsetimg)) != 'xoopsimagesetimg') { 120 return false; 121 } 122 $sql = sprintf("DELETE FROM %s WHERE imgsetimg_id = %u", $this->db->prefix('imgsetimg'), $imgsetimg->getVar('imgsetimg_id')); 123 if (!$result = $this->db->query($sql)) { 124 return false; 125 } 126 return true; 127 } 128 129 function getObjects($criteria = null, $id_as_key = false) 130 { 131 $ret = array(); 132 $limit = $start = 0; 133 $sql = 'SELECT DISTINCT i.* FROM '.$this->db->prefix('imgsetimg'). ' i LEFT JOIN '.$this->db->prefix('imgset_tplset_link'). ' l ON l.imgset_id=i.imgsetimg_imgset LEFT JOIN '.$this->db->prefix('imgset').' s ON s.imgset_id=l.imgset_id'; 134 if (isset($criteria) && is_subclass_of($criteria, 'criteriaelement')) { 135 $sql .= ' '.$criteria->renderWhere(); 136 $sql .= ' ORDER BY imgsetimg_id '.$criteria->getOrder(); 137 $limit = $criteria->getLimit(); 138 $start = $criteria->getStart(); 139 } 140 $result = $this->db->query($sql, $limit, $start); 141 if (!$result) { 142 return $ret; 143 } 144 while ($myrow = $this->db->fetchArray($result)) { 145 $imgsetimg = new XoopsImagesetimg(); 146 $imgsetimg->assignVars($myrow); 147 if (!$id_as_key) { 148 $ret[] =& $imgsetimg; 149 } else { 150 $ret[$myrow['imgsetimg_id']] =& $imgsetimg; 151 } 152 unset($imgsetimg); 153 } 154 return $ret; 155 } 156 157 function getCount($criteria = null) 158 { 159 $sql = 'SELECT COUNT(i.imgsetimg_id) FROM '.$this->db->prefix('imgsetimg'). ' i LEFT JOIN '.$this->db->prefix('imgset_tplset_link'). ' l ON l.imgset_id=i.imgsetimg_imgset'; 160 if (isset($criteria) && is_subclass_of($criteria, 'criteriaelement')) { 161 $sql .= ' '.$criteria->renderWhere().' GROUP BY i.imgsetimg_id'; 162 } 163 if (!$result =& $this->db->query($sql)) { 164 return 0; 165 } 166 list($count) = $this->db->fetchRow($result); 167 return $count; 168 } 169 170 /** 171 * Function-Documentation 172 * @param type $imgset_id documentation 173 * @param type $id_as_key = false documentation 174 * @return type documentation 175 * @author Kazumi Ono <onokazu@xoops.org> 176 **/ 177 function getByImageset($imgset_id, $id_as_key = false) 178 { 179 return $this->getObjects(new Criteria('imgsetimg_imgset', intval($imgset_id)), $id_as_key); 180 } 181 182 /** 183 * Function-Documentation 184 * @param type $filename documentation 185 * @param type $imgset_id documentation 186 * @return type documentation 187 * @author Kazumi Ono <onokazu@xoops.org> 188 **/ 189 function imageExists($filename, $imgset_id) 190 { 191 $criteria = new CriteriaCompo(new Criteria('imgsetimg_file', $filename)); 192 $criteria->add(new Criteria('imgsetimg_imgset', intval($imgset_id))); 193 if ($this->getCount($criteria) > 0) { 194 return true; 195 } 196 return false; 197 } 198 } 199 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Nov 25 11:44:32 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |