/** * @param array $args */ public function save($args) { $args = $args + ['fID' => 0, 'fOnstateID' => 0, 'maxWidth' => 0, 'maxHeight' => 0, 'constrainImage' => 0, 'linkType' => 0, 'externalLink' => '', 'internalLinkCID' => 0]; $args['fID'] = $args['fID'] != '' ? $args['fID'] : 0; $args['fOnstateID'] = $args['fOnstateID'] != '' ? $args['fOnstateID'] : 0; $args['maxWidth'] = intval($args['maxWidth']) > 0 ? intval($args['maxWidth']) : 0; $args['maxHeight'] = intval($args['maxHeight']) > 0 ? intval($args['maxHeight']) : 0; if (!$args['constrainImage']) { $args['maxWidth'] = 0; $args['maxHeight'] = 0; } switch (intval($args['linkType'])) { case 1: $args['externalLink'] = ''; break; case 2: $args['internalLinkCID'] = 0; break; default: $args['externalLink'] = ''; $args['internalLinkCID'] = 0; break; } // This doesn't get saved to the database. It's only for UI usage. unset($args['linkType']); parent::save($args); $this->tracker->track($this); }
public function save($args) { $args += array('timeout' => 4000, 'speed' => 500); $args['timeout'] = intval($args['timeout']); $args['speed'] = intval($args['speed']); $args['noAnimate'] = isset($args['noAnimate']) ? 1 : 0; $args['pause'] = isset($args['pause']) ? 1 : 0; $args['maxWidth'] = isset($args['maxWidth']) ? intval($args['maxWidth']) : 0; $db = Database::get(); $db->execute('DELETE from btImageSliderEntries WHERE bID = ?', array($this->bID)); parent::save($args); if (isset($args['sortOrder'])) { $count = count($args['sortOrder']); $i = 0; while ($i < $count) { $linkURL = $args['linkURL'][$i]; $internalLinkCID = $args['internalLinkCID'][$i]; switch (intval($args['linkType'][$i])) { case 1: $linkURL = ''; break; case 2: $internalLinkCID = 0; break; default: $linkURL = ''; $internalLinkCID = 0; break; } if (isset($args['description'][$i])) { $args['description'][$i] = LinkAbstractor::translateTo($args['description'][$i]); } $db->execute('INSERT INTO btImageSliderEntries (bID, fID, title, description, sortOrder, linkURL, internalLinkCID) values(?, ?, ?, ?,?,?,?)', array($this->bID, intval($args['fID'][$i]), $args['title'][$i], $args['description'][$i], $args['sortOrder'][$i], $linkURL, $internalLinkCID)); ++$i; } } $this->tracker->track($this); }
/** * Tell the tracker to forget us when we are deleted */ public function delete() { parent::delete(); $this->tracker->forget($this); }