function process() { $gid = zmgGetParam($_REQUEST, 'zmg_edit_gallery_gid', 0); $isNew = false; if ($gid === "new") { $isNew = true; $gid = 0; } $gid = intval($gid); $events =& zmgFactory::getEvents(); $messages =& zmgFactory::getMessages(); $gallery = new zmgGallery(zmgDatabase::getDBO()); $res = true; if ($gid > 0) { if (!($res = $gallery->load($gid))) { $messages->append(T_('Gallery could not be saved') . ': ' . $gallery->getError()); } } if ($res && $gid > 0 || $isNew) { $data = array('name' => zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_edit_gallery_name', $gallery->name)), 'descr' => zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_edit_gallery_descr', $gallery->descr)), 'keywords' => zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_edit_gallery_keywords', $gallery->keywords)), 'hide_msg' => intval(zmgGetParam($_REQUEST, 'zmg_edit_gallery_hidenm', $gallery->hide_msg)), 'shared' => intval(zmgGetParam($_REQUEST, 'zmg_edit_gallery_shared', $gallery->shared)), 'published' => intval(zmgGetParam($_REQUEST, 'zmg_edit_gallery_published', $gallery->published)), 'uid' => intval(zmgGetParam($_REQUEST, 'zmg_edit_gallery_acl_gid', $gallery->uid))); if ($isNew) { $data['dir'] = zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_edit_gallery_dir', '')); } //do some additional validation of strings $data['name'] = $events->fire('onvalidate', false, $data['name']); $data['descr'] = $events->fire('onvalidate', false, $data['descr']); $data['keywords'] = $events->fire('onvalidate', false, $data['keywords']); if (!$gallery->bind($data)) { $messages->append(T_('Gallery could not be saved') . ': ' . $gallery->getError()); } else { if (!$gallery->store()) { $messages->append(T_('Gallery could not be saved') . ': ' . $gallery->getError()); } else { if ($isNew) { $gallery->buildDirStructure(); } $messages->append(T_('Gallery saved successfully!')); } } } else { $messages->append(T_('Gallery could not be saved') . ': ' . $gid); } }
function process() { $mid = intval(zmgGetParam($_REQUEST, 'zmg_edit_mid', 0)); $medium = new zmgMedium(zmgDatabase::getDBO()); $res = true; $events =& zmgFactory::getEvents(); $messages =& zmgFactory::getMessages(); if ($mid > 0) { if (!($res = $medium->load($mid))) { $messages->append(T_('Medium could not be saved') . ': ' . $medium->getError()); } } if ($res && $mid > 0) { $data = array('name' => zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_edit_name', $medium->name)), 'descr' => zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_edit_descr', $medium->descr)), 'keywords' => zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_edit_keywords', $medium->keywords)), 'shared' => intval(zmgGetParam($_REQUEST, 'zmg_edit_shared', $medium->shared)), 'published' => intval(zmgGetParam($_REQUEST, 'zmg_edit_published', $medium->published)), 'uid' => intval(zmgGetParam($_REQUEST, 'zmg_edit_acl_gid', $medium->uid))); //do some additional validation of strings $data['name'] = $events->fire('onvalidate', false, $data['name']); $data['descr'] = $events->fire('onvalidate', false, $data['descr']); $data['keywords'] = $events->fire('onvalidate', false, $data['keywords']); if (!$medium->bind($data)) { $messages->append(T_('Medium could not be saved') . ': ' . $medium->getError()); } else { if (!$medium->store()) { $messages->append(T_('Medium could not be saved') . ': ' . $medium->getError()); } else { $isGalleryImg = intval(zmgGetParam($_REQUEST, 'zmg_edit_gimg', 0)) === 1; $isParentImg = intval(zmgGetParam($_REQUEST, 'zmg_edit_pimg', 0)) === 1; if (!($isGalleryImg && $medium->setAsGalleryImage())) { $messages->append(T_('Medium could not be saved') . ': ' . T_('unable to set as image of gallery')); $res = false; } if (!($isParentImg && $medium->setAsGalleryImage(true))) { $messages->append(T_('Medium could not be saved') . ': ' . T_('unable to set as image of parent gallery')); $res = false; } if ($res) { $messages->append(T_('Medium saved successfully!')); } } } } else { $messages->append(T_('Medium could not be saved') . ': ' . $mid); } }
function update($vars, $isPlugin = false) { $updated = false; if (!$isPlugin) { foreach ($vars as $config => $value) { $config = trim($config); if (strstr($config, 'zmg_')) { $real = str_replace('_', '/', str_replace('zmg_', '', $config)); if ($this->set($real, zmgSQLEscape(trim($value)))) { $updated = true; } } } } else { echo "updating plugin config.."; $keys = array_keys($vars); if (!$this->_config['plugins'][$keys[0]]) { array_merge($this->_config, $vars); print_r($this->_config); $updated = true; } } $messages =& zmgFactory::getMessages(); if ($updated) { if ($this->save()) { $messages->append(T_('Settings'), T_('Your settings have been saved successfully.')); return true; } } $messages->append(T_('Settings'), T_('Your settings could not be saved.')); return false; }
function finalizeUpload($gid = 0) { //finish the SwfUpload sequence... if ($gid === 0) { return zmgToolboxPlugin::registerError(T_('Upload media'), T_('No valid gallery ID provided')); } $session =& zmgFactory::getSession(); $events =& zmgFactory::getEvents(); $config =& zmgFactory::getConfig(); $db =& zmgDatabase::getDBO(); $gallery = new zmgGallery($db); $gallery->load($gid); //now we got the gallery and its data, retrieve the uploaded media $media = $session->get('uploadtool.fancyfiles'); if (!is_array($media) || count($media) == 0) { return zmgToolboxPlugin::registerError(T_('Upload media'), T_('No media have been uploaded; nothing to do.')); } zmgimport('org.zoomfactory.lib.helpers.zmgFileHelper'); $src_path = ZMG_ABS_PATH . DS . "etc" . DS . "cache" . DS; $dest_path = zmgEnv::getRootPath() . DS . $config->get('filesystem/mediapath') . $gallery->dir . DS; foreach ($media as $medium) { $obj = new zmgMedium($db); $name = zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_upload_name', '')); $descr = zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_upload_descr', '')); $data = array('name' => $name, 'filename' => $medium, 'descr' => $descr, 'published' => 1, 'gid' => $gallery->gid); $obj->setGalleryDir($gallery->dir); //saves a SQL query later on... //do some additional validation of strings $data['name'] = $events->fire('onvalidate', $data['name']); if (!$data['name']) { $data['name'] = $name; } $data['descr'] = $events->fire('onvalidate', $data['descr']); if (!$data['descr']) { $data['descr'] = $descr; } if (!$obj->bind($data)) { zmgToolboxPlugin::registerError(T_('Upload media'), T_('Medium could not be saved') . ': ' . $obj->getError()); } else { if (!zmgFileHelper::copy($src_path . $medium, $dest_path . $medium)) { zmgToolboxPlugin::registerError(T_('Upload media'), T_('Unable to copy file') . ' ' . $medium); } else { if (!zmgFileHelper::delete($src_path . $medium)) { zmgToolboxPlugin::registerError(T_('Upload media'), T_('Unable to delete temporary file') . ' ' . $medium); } else { if (!zmgToolboxPlugin::processMedium($obj, $gallery)) { zmgToolboxPlugin::registerError(T_('Upload media'), T_('Medium could not be processed') . ' ' . $medium); } else { if (!$obj->store()) { //now save this medium in our DB zmgToolboxPlugin::registerError(T_('Upload media'), T_('Medium could not be saved') . ': ' . $obj->getError()); } } } } } //delete medium from session data: fourth parameter as TRUE $session->update('uploadtool.fancyfiles', $medium, ZMG_DATATYPE_ARRAY, true); } zmgToolboxPlugin::throwErrors(); }
/** * Checks if a user has the right to edit a medium, or if he/ she already * edited the medium before. * * @param int $id * @param string $which * @param string $filename * @return boolean * @access public */ function isEdited($id, $which, $filename = '') { $db =& zmgDatabase::getDBO(); $table = zmgFactory::getConfig()->getTableName('editmon'); $today = time() + intval(zmgEnv::getSessionLifetime()); $sid = md5(zmgEnv::getSessionToken()); switch ($which) { case 'comment': $db->setQuery("SELECT edtid FROM " . $table . " WHERE " . "user_session = '{$sid}' AND comment_time > '{$now}' AND " . "object_id = " . zmgSQLEscape($id)); break; case 'vote': $db->setQuery("SELECT edtid FROM " . $table . " WHERE " . "user_session = '{$sid}' AND vote_time > '{$now}' AND " . "object_id = " . zmgSQLEscape($id)); break; case 'pass': $db->setQuery("SELECT edtid FROM " . $table . " WHERE " . "user_session = '{$sid}' AND pass_time > '{$now}' AND " . "object_id = " . zmgSQLEscape($id)); break; case 'lightbox': $db->setQuery("SELECT edtid FROM " . $table . " WHERE " . "user_session = '{$sid}' AND lightbox_time > '{$now}' AND " . "lightbox_file = '" . zmgSQLEscape($filename) . "'"); break; } $result = $db->query(); if (mysql_num_rows($result) > 0) { return true; } else { return false; } }