XCL Web Application Platform 2.5.0
The XoopsCube Legacy Project
Loading...
Searching...
No Matches
imagesetimg.php
1<?php
14
15
16if (!defined('XOOPS_ROOT_PATH')) {
17 exit();
18}
19
21{
22 public function __construct()
23 {
24 parent::__construct();
25 $this->initVar('imgsetimg_id', XOBJ_DTYPE_INT, null, false);
26 $this->initVar('imgsetimg_file', XOBJ_DTYPE_OTHER, null, false);
27 $this->initVar('imgsetimg_body', XOBJ_DTYPE_SOURCE, null, false);
28 $this->initVar('imgsetimg_imgset', XOBJ_DTYPE_INT, null, false);
29 }
30}
31
35
37{
38
39 public function &create($isNew = true)
40 {
41 $imgsetimg =new XoopsImagesetimg();
42 if ($isNew) {
43 $imgsetimg->setNew();
44 }
45 return $imgsetimg;
46 }
47
48 public function &get($id)
49 {
50 $ret = false;
51 $id = (int)$id;
52 if ($id > 0) {
53 $sql = 'SELECT * FROM '.$this->db->prefix('imgsetimg').' WHERE imgsetimg_id='.$id;
54 if ($result = $this->db->query($sql)) {
55 $numrows = $this->db->getRowsNum($result);
56 if (1 == $numrows) {
57 $imgsetimg =new XoopsImagesetimg();
58 $imgsetimg->assignVars($this->db->fetchArray($result));
59 $ret =& $imgsetimg;
60 }
61 }
62 }
63 return $ret;
64 }
65
66 public function insert(&$imgsetimg)
67 {
68 $imgsetimg_file = null;
69 $imgsetimg_body = null;
70 $imgsetimg_imgset = null;
71 $imgsetimg_id = null;
72 if ('xoopsimagesetimg' != strtolower(get_class($imgsetimg))) {
73 return false;
74 }
75 if (!$imgsetimg->isDirty()) {
76 return true;
77 }
78 if (!$imgsetimg->cleanVars()) {
79 return false;
80 }
81 foreach ($imgsetimg->cleanVars as $k => $v) {
82 ${$k} = $v;
83 }
84 if ($imgsetimg->isNew()) {
85 $imgsetimg_id = $this->db->genId('imgsetimg_imgsetimg_id_seq');
86 $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));
87 } else {
88 $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);
89 }
90 if (!$result = $this->db->query($sql)) {
91 return false;
92 }
93 if (empty($imgsetimg_id)) {
94 $imgsetimg_id = $this->db->getInsertId();
95 }
96 $imgsetimg->assignVar('imgsetimg_id', $imgsetimg_id);
97 return true;
98 }
99
100 public function delete(&$imgsetimg)
101 {
102 if ('xoopsimagesetimg' != strtolower(get_class($imgsetimg))) {
103 return false;
104 }
105 $sql = sprintf('DELETE FROM %s WHERE imgsetimg_id = %u', $this->db->prefix('imgsetimg'), $imgsetimg->getVar('imgsetimg_id'));
106 if (!$result = $this->db->query($sql)) {
107 return false;
108 }
109 return true;
110 }
111
112 public function &getObjects($criteria = null, $id_as_key = false)
113 {
114 $ret = [];
115 $limit = $start = 0;
116 $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';
117 if (isset($criteria) && $criteria instanceof \criteriaelement) {
118 $sql .= ' '.$criteria->renderWhere();
119 $sql .= ' ORDER BY imgsetimg_id '.$criteria->getOrder();
120 $limit = $criteria->getLimit();
121 $start = $criteria->getStart();
122 }
123 $result = $this->db->query($sql, $limit, $start);
124 if (!$result) {
125 return $ret;
126 }
127 while ($myrow = $this->db->fetchArray($result)) {
128 $imgsetimg =new XoopsImagesetimg();
129 $imgsetimg->assignVars($myrow);
130 if (!$id_as_key) {
131 $ret[] =& $imgsetimg;
132 } else {
133 $ret[$myrow['imgsetimg_id']] =& $imgsetimg;
134 }
135 unset($imgsetimg);
136 }
137 return $ret;
138 }
139
140 public function getCount($criteria = null)
141 {
142 $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';
143 if (isset($criteria) && $criteria instanceof \criteriaelement) {
144 $sql .= ' '.$criteria->renderWhere().' GROUP BY i.imgsetimg_id';
145 }
146 if (!$result =& $this->db->query($sql)) {
147 return 0;
148 }
149 [$count] = $this->db->fetchRow($result);
150 return $count;
151 }
152
160 public function &getByImageset($imgset_id, $id_as_key = false)
161 {
162 $ret =& $this->getObjects(new Criteria('imgsetimg_imgset', (int)$imgset_id), $id_as_key);
163 return $ret;
164 }
165
173 public function imageExists($filename, $imgset_id)
174 {
175 $criteria = new CriteriaCompo(new Criteria('imgsetimg_file', $filename));
176 $criteria->add(new Criteria('imgsetimg_imgset', (int)$imgset_id));
177 if ($this->getCount($criteria) > 0) {
178 return true;
179 }
180 return false;
181 }
182}
& getByImageset($imgset_id, $id_as_key=false)
imageExists($filename, $imgset_id)
initVar($key, $data_type, $value=null, $required=false, $maxlength=null, $options='')
Definition object.php:206