$sql = sprintf("UPDATE %s SET imgset_name = %s, imgset_refid = %u WHERE imgset_id = %u", $this->db->prefix('imgset'), $this->db->quoteString($imgset_name), $imgset_refid, $imgset_id);
}
if (!$result = $this->db->query($sql)) {
return false;
}
if (empty($imgset_id)) {
$imgset_id = $this->db->getInsertId();
}
$imgset->assignVar('imgset_id', $imgset_id);
return true;
}
function delete(&$imgset)
{
/**
* @TODO: Change to if (!(class_exists($this->className) && $obj instanceof $this->className)) when going fully PHP5
*/
if (!is_a($imgset, 'xoopsimageset')) {
return false;
}
$sql = sprintf("DELETE FROM %s WHERE imgset_id = %u", $this->db->prefix('imgset'), $imgset->getVar('imgset_id'));
if (!$result = $this->db->query($sql)) {
return false;
}
$sql = sprintf("DELETE FROM %s WHERE imgset_id = %u", $this->db->prefix('imgset_tplset_link'), $imgset->getVar('imgset_id'));
$this->db->query($sql);
return true;
}
function getObjects($criteria = null, $id_as_key = false)
{
$ret = array();
$limit = $start = 0;
$sql = 'SELECT DISTINCT i.* FROM '.$this->db->prefix('imgset'). ' i LEFT JOIN '.$this->db->prefix('imgset_tplset_link'). ' l ON l.imgset_id=i.imgset_id';
if (isset($criteria) && is_subclass_of($criteria, 'criteriaelement')) {
$sql .= ' '.$criteria->renderWhere();
$limit = $criteria->getLimit();
$start = $criteria->getStart();
}
$result = $this->db->query($sql, $limit, $start);
if (!$result) {
return $ret;
}
while ($myrow = $this->db->fetchArray($result)) {
$imgset = new XoopsImageset();
$imgset->assignVars($myrow);
if (!$id_as_key) {
$ret[] =& $imgset;
} else {
$ret[$myrow['imgset_id']] =& $imgset;
}
unset($imgset);
}
return $ret;
}
function linkThemeset($imgset_id, $tplset_name)
{
$imgset_id = intval($imgset_id);
$tplset_name = trim($tplset_name);
if ($imgset_id <= 0 || $tplset_name == '') {
return false;
}
if (!$this->unlinkThemeset($imgset_id, $tplset_name)) {