XOOPS 2.5.6  Final
 All Classes Namespaces Files Functions Variables Pages
imagesetimg.php
Go to the documentation of this file.
1 <?php
19 defined('XOOPS_ROOT_PATH') or die('Restricted access');
20 
29 {
33  function XoopsImagesetimg()
34  {
35  $this->XoopsObject();
36  $this->initVar('imgsetimg_id', XOBJ_DTYPE_INT, null, false);
37  $this->initVar('imgsetimg_file', XOBJ_DTYPE_OTHER, null, false);
38  $this->initVar('imgsetimg_body', XOBJ_DTYPE_SOURCE, null, false);
39  $this->initVar('imgsetimg_imgset', XOBJ_DTYPE_INT, null, false);
40  }
41 
45  function id($format = 'N')
46  {
47  return $this->getVar('imgsetimg_id', $format);
48  }
49 
53  function imgsetimg_id($format = '')
54  {
55  return $this->getVar('imgsetimg_id', $format);
56  }
57 
61  function imgsetimg_file($format = '')
62  {
63  return $this->getVar('imgsetimg_file', $format);
64  }
65 
69  function imgsetimg_body($format = '')
70  {
71  return $this->getVar('imgsetimg_body', $format);
72  }
73 
77  function imgsetimg_imgset($format = '')
78  {
79  return $this->getVar('imgsetimg_imgset', $format);
80  }
81 
82 }
83 
84 
95 {
102  function &create($isNew = true)
103  {
104  $imgsetimg = new XoopsImagesetimg();
105  if ($isNew) {
106  $imgsetimg->setNew();
107  }
108  return $imgsetimg;
109  }
110 
118  function &get($id)
119  {
120  $imgsetimg = false;
121  $id = intval($id);
122  if ($id > 0) {
123  $sql = 'SELECT * FROM ' . $this->db->prefix('imgsetimg') . ' WHERE imgsetimg_id=' . $id;
124  if (!$result = $this->db->query($sql)) {
125  return $imgsetimg;
126  }
127  $numrows = $this->db->getRowsNum($result);
128  if ($numrows == 1) {
129  $imgsetimg = new XoopsImagesetimg();
130  $imgsetimg->assignVars($this->db->fetchArray($result));
131  }
132  }
133  return $imgsetimg;
134  }
135 
142  function insert(&$imgsetimg)
143  {
147  if (!is_a($imgsetimg, 'xoopsimagesetimg')) {
148  return false;
149  }
150 
151  if (!$imgsetimg->isDirty()) {
152  return true;
153  }
154  if (!$imgsetimg->cleanVars()) {
155  return false;
156  }
157  foreach ($imgsetimg->cleanVars as $k => $v) {
158  ${$k} = $v;
159  }
160  if ($imgsetimg->isNew()) {
161  $imgsetimg_id = $this->db->genId('imgsetimg_imgsetimg_id_seq');
162  $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));
163  } else {
164  $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);
165  }
166  if (!$result = $this->db->query($sql)) {
167  return false;
168  }
169  if (empty($imgsetimg_id)) {
170  $imgsetimg_id = $this->db->getInsertId();
171  }
172  $imgsetimg->assignVar('imgsetimg_id', $imgsetimg_id);
173  return true;
174  }
175 
182  function delete(&$imgsetimg)
183  {
187  if (!is_a($imgsetimg, 'xoopsimagesetimg')) {
188  return false;
189  }
190 
191  $sql = sprintf("DELETE FROM %s WHERE imgsetimg_id = %u", $this->db->prefix('imgsetimg'), $imgsetimg->getVar('imgsetimg_id'));
192  if (!$result = $this->db->query($sql)) {
193  return false;
194  }
195  return true;
196  }
197 
206  function getObjects($criteria = null, $id_as_key = false)
207  {
208  $ret = array();
209  $limit = $start = 0;
210  $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';
211  if (isset($criteria) && is_subclass_of($criteria, 'criteriaelement')) {
212  $sql .= ' ' . $criteria->renderWhere();
213  $sql .= ' ORDER BY imgsetimg_id ' . $criteria->getOrder();
214  $limit = $criteria->getLimit();
215  $start = $criteria->getStart();
216  }
217  $result = $this->db->query($sql, $limit, $start);
218  if (!$result) {
219  return $ret;
220  }
221  while ($myrow = $this->db->fetchArray($result)) {
222  $imgsetimg = new XoopsImagesetimg();
223  $imgsetimg->assignVars($myrow);
224  if (!$id_as_key) {
225  $ret[] =& $imgsetimg;
226  } else {
227  $ret[$myrow['imgsetimg_id']] =& $imgsetimg;
228  }
229  unset($imgsetimg);
230  }
231  return $ret;
232  }
233 
240  function getCount($criteria = null)
241  {
242  $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';
243  if (isset($criteria) && is_subclass_of($criteria, 'criteriaelement')) {
244  $sql .= ' ' . $criteria->renderWhere() . ' GROUP BY i.imgsetimg_id';
245  }
246  if (!$result =& $this->db->query($sql)) {
247  return 0;
248  }
249  list ($count) = $this->db->fetchRow($result);
250  return $count;
251  }
252 
260  function getByImageset($imgset_id, $id_as_key = false)
261  {
262  return $this->getObjects(new Criteria('imgsetimg_imgset', intval($imgset_id)), $id_as_key);
263  }
264 
272  function imageExists($filename, $imgset_id)
273  {
274  $criteria = new CriteriaCompo(new Criteria('imgsetimg_file', $filename));
275  $criteria->add(new Criteria('imgsetimg_imgset', intval($imgset_id)));
276  if ($this->getCount($criteria) > 0) {
277  return true;
278  }
279  return false;
280  }
281 }
282 ?>