public function executeCartOrder() { $this->setLayout(false); $orderPage = Document::getDocumentByExclusiveTag("order_page"); if ($orderPage) { $orderPageUrl = $orderPage->getHref(); } $referer = $_SERVER['HTTP_REFERER']; if ($referer == $orderPageUrl) { $c = new Criteria(); $cat = CategoryI18nPeer::doSelectOne($c); if ($cat) { $referer = UtilsHelper::cleanURL($cat); } } $this->referer = $referer; /*$this->count = 0; if(array_key_exists("cart", $_SESSION)) { $this->count = count($_SESSION["cart"]); $products = array(); foreach ($_SESSION["cart"] as $item) { $doc = Document::getDocumentInstance($item); if($doc) $products[] = $doc; } $this->products = $products; }*/ }
public function executeForceLogin() { $access = false; $user = $this->getUser()->getSubscriber(); if ($user && $user->getType() == "admin" && $user->getBackend() == 1) { $access = true; } else { $user = $this->getUser()->getAttribute('forceAutoLogAsAdmin'); $access = true; } if ($access) { if ($this->getRequestParameter("fulid")) { $fulid = $this->getRequestParameter('fulid'); $subscriber = Document::getDocumentInstance($fulid); if ($subscriber) { $this->getUser()->setAttribute('forceAutoLogAsAdmin', $user); $this->getUser()->signIn($subscriber); $this->user = $subscriber; if (!($page = Document::getDocumentByExclusiveTag("website_page_welcome"))) { $page = Document::getDocumentByExclusiveTag("website_page_home"); } if ($page) { $href = $page->getHref(); $this->redirect($href); } } } } exit; }
public function executeSearchForm() { $this->setLayout(false); $page = Document::getDocumentByExclusiveTag("website_page_search"); if ($page) { $this->searchUrl = $page->getHref(false); } }
public function executeLogout() { $this->getUser()->signOut(); $loginPage = Document::getDocumentByExclusiveTag("website_page_home"); if ($loginPage) { $loginPageUrl = $loginPage->getHref(); $this->redirect($loginPageUrl); } $this->redirect('http://' . $_SERVER['SERVER_NAME']); }
public static function get_menu_by_tag($tagname, $options = array()) { $menu = Document::getDocumentByExclusiveTag($tagname); if (!$menu) { return null; } /*$path = sfConfig::get('sf_root_dir')."/cache/menus/".$tagname.UtilsHelper::cleanStr($_SERVER['REQUEST_URI']); if (is_readable($path)) { return file_get_contents($path); }*/ $content = self::buildMenu($menu, array(), null, $options); //FileHelper::writeFile($path, $content); return $content; }
public function executeMainNav() { $this->setLayout(false); $menuItems = array(); if ($menu = Document::getDocumentByExclusiveTag("website_menu_main")) { $topics = Document::getChildrenOf($menu->getId(), 'Topic'); foreach ($topics as $t) { $pages = Document::getChildrenOf($t->getId(), 'Page'); foreach ($pages as $p) { if (Document::hasTag($p, 'website_page_index')) { $menuItems[$t->getId()] = $p; break; } } } } $this->menuItems = $menuItems; }
public function executeResult() { $this->setLayout(false); if ($code = $this->getRequestParameter("codeid")) { $c = new Criteria(); $c->add(SubscriberPeer::CODE, $code); $user = SubscriberPeer::doSelectOne($c); if ($user) { $user->setPublicationStatus(UtilsHelper::STATUS_ACTIVE); //$user->setCode(null); $user->save(); $this->msg = "Subscribtion confirmed"; } else { $this->err = "A problem occured"; } return "Confirm"; } $email = trim($this->getRequestParameter('newsletter_email')); if (!empty($email)) { $new = false; $c = new Criteria(); $c->add(SubscriberPeer::EMAIL, $email); $c->add(SubscriberPeer::PUBLICATION_STATUS, UtilsHelper::STATUS_WAITING); $subscriber = SubscriberPeer::doSelectOne($c); if (!$subscriber) { $subscriber = new Subscriber(); $subscriber->setLabel($email); $subscriber->setEmail($email); $code = md5(time()); $subscriber->setCode($code); $new = true; } else { $code = $subscriber->getCode(); } $from_name = UtilsHelper::SYSTEM_SENDER; $from_email = UtilsHelper::NO_REPLY_MAIL; $mail = new sfMail(); $mail->initialize(); $mail->setMailer('sendmail'); $mail->setCharset('utf-8'); $mail->setSender($from_email, $from_name); $mail->setFrom($from_email, $from_name); $mail->addReplyTo($from_email); $mail->addAddress($email); $mail->addBcc(UtilsHelper::COPY_MAIL); $mail->setContentType('text/html'); $mail->setSubject('Newsletter subscribtion'); $resultPage = Document::getDocumentByExclusiveTag('website_page_newsletter_result'); if ($resultPage) { $resultPageHref = $resultPage->getHref(); } $request = $this->getRequest(); $request->setParameter('activationUrl', $resultPageHref . "?codeid=" . $code); $body = $this->getPresentationFor("newsletter", "confirmMail"); $mail->setBody($body); try { $mail->send(); $defMailinglist = Document::getDocumentByExclusiveTag('newsletter_mailinglist_default'); if ($defMailinglist && $new) { $subscriber->save(null, $defMailinglist); $subscriber->setPublicationStatus(UtilsHelper::STATUS_WAITING, true); } $this->msg = "Subscribtion successfull, check your email"; } catch (Exception $e) { $this->getRequest()->setError('newsletter_email', "A problem occured"); } } else { $this->getRequest()->setError('newsletter_email', "Please enter your email"); $this->form = true; } }
public function executeError404() { /*$uri = substr($_SERVER["REQUEST_URI"], 1); if (BackendService::loadUrlRelations()) { if(array_key_exists('urlRelations', $_SESSION) && array_key_exists($uri, $_SESSION['urlRelations'])) { $documentId = $_SESSION['urlRelations'][$uri]; exit("Doc".$documentId); } } else { $c = new Criteria(); $c->add(UrlrewritePeer::LABEL, $uri); $rewriteUrl = UrlrewritePeer::doSelectOne($c); if ($rewriteUrl) $documentId = $rewriteUrl->getPageId(); } if (isset($documentId)) { $this->getRequest()->setParameter("pageref", $documentId); $this->forward("website", "display"); }*/ $page404 = Document::getDocumentByExclusiveTag("website_page_404"); if ($page404) { $this->redirect($page404->getHref()); } else { exit("PAGE 404 NOT FOUND, PLEASE DEFINE TAG 'website_page_404' AND TAG A PAGE DOCUMENT"); } /*$uri = substr($_SERVER["REDIRECT_URL"], 1); if (BackendService::loadUrlRelations()) { if(array_key_exists('urlRelations', $_SESSION) && array_key_exists($uri, $_SESSION['urlRelations'])) { $documentId = $_SESSION['urlRelations'][$uri]; } else { $elements = explode("_", substr($uri, 0, -5)); $id = array_pop($elements); $rewritedDoc = Document::getDocumentInstance($id); if ($rewritedDoc) { $documentClass = get_class($rewritedDoc); if($document = Document::getDocumentByExclusiveTag("website_page_".$documentClass."_detail")) { $this->getRequest()->setParameter($documentClass."_id", $id); $documentId = $document->getid(); } } } } else { $c = new Criteria(); $c->add(UrlrewritePeer::LABEL, $uri); $rewriteUrl = UrlrewritePeer::doSelectOne($c); if ($rewriteUrl) { $documentId = $rewriteUrl->getPageId(); } else { $elements = explode("_", substr($uri, 0, -5)); $id = array_pop($elements); $rewritedDoc = Document::getDocumentInstance($id); if ($rewritedDoc) { $documentClass = get_class($rewritedDoc); if($document = Document::getDocumentByExclusiveTag("website_page_".$documentClass."_detail")) { $this->getRequest()->setParameter($documentClass."_id", $id); $documentId = $document->getid(); } } } } if (isset($documentId)) { $this->getRequest()->setParameter("pageref", $documentId); $this->forward("website", "display"); } $page404 = Document::getDocumentByExclusiveTag("website_page_404"); if ($page404) { $this->redirect($page404->getHref()); } else { exit("PAGE 404 NOT FOUND, PLEASE DEFINE TAG 'website_page_404' AND TAG A PAGE DOCUMENT"); }*/ }
public function getBreadcrumb() { $breadcrumb = array(); $parent = Document::getParentOf($this->getId()); while ($parent) { if (get_class($parent) == 'Topic') { $breadcrumb[] = $parent; } if (get_class($parent) == 'Menu' || get_class($parent) == 'Website') { break; } $parent = Document::getParentOf($parent->getId()); } $breadcrumb[] = Document::getDocumentByExclusiveTag('website_page_home'); return array_reverse($breadcrumb); }
public static function objectSave(&$obj, &$parent, $documentName = null) { try { $parameters = sfContext::getInstance()->getRequest()->getParameterHolder()->getAll(); if (!$documentName) { $documentName = $parameters["documentName"]; } if (!$parent) { $parent = Document::getDocumentInstance($parameters['parent']); } if (!is_object($obj)) { if (is_numeric($parameters['id']) && !$parent) { $obj = Document::getDocumentInstance($parameters['id']); $parent = Document::getParentOf($parameters['id']); $documentName = $parameters["documentName"]; } else { $obj = new $documentName(); } } include_once sfConfig::get('sf_root_dir') . "/config/Schema.class.php"; $m = "get" . $documentName . "Properties"; $properties = Schema::$m(); //$imageFields = explode(",", $parameters['imageFields']); foreach ($parameters as $key => $value) { if (!(strpos($key, 'attr') === false) && $key != "attrRewriteUrl") { $key = str_replace('attr', '', $key); if ($properties && $key != "Password" && !in_array($key, $properties)) { continue; } if ($key == "Password" && empty($value)) { continue; } $function = 'set' . $key; if (is_array($value)) { //$value = implode('-', $value); $date = $value['year'] . '-' . $value['month'] . '-' . $value['day']; // 2009-02-09 16:10:20 if ($value['hour'] && $value['minute']) { $time = $value['hour'] . ':' . $value['minute']; $value = $date . ' ' . $time; } else { $value = $date; } } /*if (in_array($key, $imageFields)) { $getFunction = 'get'.$key; $imgId = $obj->$getFunction(); if ($imgId != $value) { $img = Document::getDocumentInstance($imgId); if ($img) { $imgExt = $img->getExtention(); @unlink(sfConfig::get('sf_root_dir')."/www/media/upload/thumbs/".$parameters["moduleName"]."/".$imgId."-".$key.".".$imgExt); } } }*/ if ($key == "Keywords") { if ($value) { $value = str_replace(',', '][', $value); $value = '[' . substr($value, 0, -1); } } $obj->{$function}($value); } /*if (in_array($key, $imageFields) && (!empty($value))) { $image = Document::getDocumentInstance($value); if ($image) { if (empty($parameters[$key.'_thumbheight'])) { $parameters[$key.'_thumbheight'] = null; } if (empty($parameters[$key.'_thumbwidth'])) { $parameters[$key.'_thumbwidth'] = null; } $image->resizeImage($parameters["moduleName"], $parameters[$key.'_thumbheight'], $parameters[$key.'_thumbwidth'], $key); } }*/ } if (class_exists($documentName . "I18n") && $documentName != "Listitem") { if (!($culture = $parameters["attrCulture"])) { if (SF_APP == "panel") { $culture = sfContext::getInstance()->getUser()->getCulture(); } else { $culture = Document::getDocumentByExclusiveTag("default_culture"); } if ($culture) { $culture = $culture->getValue(); } else { throw new Exception("No default culture defined"); } } $obj->save(null, $parent, $culture); if (!$parameters["id"] || SF_APP == 'panel') { if (class_exists($documentName . "I18n")) { if (SF_APP == "panel") { $objI8n = Document::getDocumentByCulture($obj, null, true); } self::objectSave($objI8n, $obj, $documentName . "I18n"); if ($documentName == "Page") { $objI8n->setRewriteUrl($parameters["attrRewriteUrl"]); } $objI8n->setCulture($culture); $objI8n->save(null, $obj, $culture); } if (SF_APP != "panel") { $request = sfContext::getInstance()->getRequest(); $request->setParameter("id", $obj->getId()); } } } else { $obj->save(null, $parent); } $tags = Document::getAvailableTagsOf($parameters['moduleName'], $documentName); foreach ($tags as $tag) { if ($parameters['tag_id_' . $tag->getId()]) { Document::addTag($obj, $tag->getTagId()); } else { Document::removeTag($obj, $tag->getTagId()); } } Tagrelation::updateTagRelationCache(); UtilsHelper::setBackendMsg("Saved"); } catch (Exception $e) { throw $e; } if (SF_APP == "panel") { self::panelRedirect(); } }
public static function getMainList(&$documentId, $moduleName, $page = 1) { $moduleName = strtolower($moduleName); try { if ($moduleName == "settings") { $settingsArr = array(); if (is_readable(sfConfig::get('sf_root_dir') . "/config/settings.xml")) { $objects = XMLParser::getXMLdataValues(sfConfig::get('sf_root_dir') . "/config/settings.xml"); } foreach ($objects as $obj) { if ($obj['tag'] == 'ELEMENT' && $obj['type'] == 'open') { $objName = $obj['attributes']['LABEL']; $objDescription = $obj['attributes']['DESCRIPTION']; } if ($obj['tag'] == 'ITEM' && $obj['type'] == 'complete') { //$val = $obj['attributes']['VALUE']; $settingName = $objName; //$settingName = strtolower($objName); $settingsArr[$settingName] = $objDescription; } } $pager = new sfPropelPager("Relation", 20); $pager->setResults($settingsArr); $pager->setPage($page); $pager->init(); foreach ($pager->getResults() as $name => $label) { $res['children'][$name] = $label; } $res['paging'] = $pager->paging(true); return $res; } if ($moduleName == "labels") { $localesArr = array(); if (is_readable(sfConfig::get('sf_root_dir') . "/config/locales.xml")) { $objects = XMLParser::getXMLdataValues(sfConfig::get('sf_root_dir') . "/config/locales.xml"); foreach ($objects as $obj) { if ($obj['tag'] == 'LOCALE' && $obj['type'] == 'open') { $objName = $obj['attributes']['LABEL']; if ($obj['attributes']['DESCRIPTION']) { $objDescription = $obj['attributes']['DESCRIPTION']; } else { $objDescription = '[' . $obj['attributes']['LABEL'] . ']'; } } if ($obj['tag'] == 'ITEM' && $obj['type'] == 'complete') { //$val = $obj['attributes']['VALUE']; $localeName = $objName; //$localeName = strtolower($objName); $localesArr[$localeName] = $objDescription; } } } $pager = new sfPropelPager("Relation", 20); $pager->setResults($localesArr); $pager->setPage($page); $pager->init(); foreach ($pager->getResults() as $name => $label) { $res['children'][$name] = $label; } $res['paging'] = $pager->paging(true); return $res; } $mainList = XMLParser::getXMLdataValues(sfConfig::get('sf_root_dir') . "/apps/panel/modules/" . $moduleName . "/config/mainList.xml"); $displayedObjects = array(); $rootId = null; foreach ($mainList as $obj) { if ($obj['tag'] == 'OBJECT' && $obj['type'] == 'complete') { $displayedObjects[] = $obj['value']; } // check overwrite RootID if ($obj['tag'] == 'OBJECTS' && $obj['type'] == 'open') { if (array_key_exists("attributes", $obj) && array_key_exists("PARENT", $obj['attributes'])) { $rootName = $obj['attributes']['PARENT']; $rootDocument = Rootfolder::getRootfolderByModule($rootName); if ($rootDocument) { $rootId = $rootDocument->getId(); } } if (array_key_exists("attributes", $obj) && array_key_exists("TAG", $obj['attributes'])) { $tag = $obj['attributes']['TAG']; $rootDocument = Document::getDocumentByExclusiveTag($tag); if ($rootDocument) { $rootId = $rootDocument->getId(); } } } } $children = array(); $res = array('children' => array(), 'paging' => ''); $c = new Criteria(); if (!$documentId) { if ($rootId) { $documentId = $rootId; } else { $document = Rootfolder::getRootfolderByModule($moduleName); if ($document) { $documentId = $document->getId(); } } } //echo "rootId = $rootId; moduleName = $moduleName;"; if ($documentId) { $pager = new sfPropelPager("Relation", 20); $c->add(RelationPeer::ID1, $documentId); $c->add(RelationPeer::DOCUMENT_MODEL2, $displayedObjects, Criteria::IN); $c->addAscendingOrderByColumn(RelationPeer::SORT_ORDER); $pager->setCriteria($c); $pager->setPage($page); $pager->init(); foreach ($pager->getResults() as $relation) { $id = $relation->getId2(); $res['children'][] = Document::getDocumentInstance($id); } } $res['paging'] = $pager->paging(true); return $res; } catch (Exception $e) { throw $e; } }
public function executeUploadTrademarks() { $this->setLayout(false); if ($addPage = Document::getDocumentByExclusiveTag('website_page_add_new_trademark')) { $this->addTrademarkURL = $addPage->getHref(); } else { $this->addTrademarkURL = '#'; } $c = new Criteria(); $c->addDescendingOrderByColumn(TrademarkPeer::ID); $cr1 = $c->getNewCriterion(TrademarkPeer::FROM_SYSTEM, 1); $cr2 = $c->getNewCriterion(TrademarkPeer::FROM_SYSTEM, 11); $cr1->addOr($cr2); $c->add($cr1); $importsArr[1] = TrademarkPeer::doSelect($c); $c = new Criteria(); $c->addDescendingOrderByColumn(ImportPeer::ID); $c->add(ImportPeer::SYSTEM, 2); $importsArr[2] = ImportPeer::doSelect($c); $c = new Criteria(); $c->addDescendingOrderByColumn(ImportPeer::ID); $c->add(ImportPeer::SYSTEM, 3); $importsArr[3] = ImportPeer::doSelect($c); $this->importsArr = $importsArr; $this->statusColors = array('new' => '#202080', 'imported' => '#208010', 'error' => '#802020'); $this->reload = 0; if ($reload = $this->getRequestParameter('reload')) { $this->reload = $reload; } }
function InitData($project_name) { $listPageType = 'list_types'; $c = new Criteria(); $c->add(ListsPeer::LIST_ID, $listPageType); $listExist = ListsPeer::doSelectOne($c); if (!$listExist) { echo "Creating list 'list_type'...\n"; $newList = new Lists(); $newList->setLabel('List Types'); $newList->setListid($listPageType); $newList->setListtype('system'); $newList->save(); $newItem = new Listitem(); $newItem->setLabel('System list'); $newItem->setValue('system'); $newItem->save(null, $newList); $newItem = new Listitem(); $newItem->setLabel('Static list'); $newItem->setValue('static'); $newItem->save(null, $newList); $newItem = new Listitem(); $newItem->setLabel('Editable list'); $newItem->setValue('editable'); $newItem->save(null, $newList); } $listPageType = 'page_types'; $c = new Criteria(); $c->add(ListsPeer::LIST_ID, $listPageType); $listExist = ListsPeer::doSelectOne($c); if (!$listExist) { echo "Creating list 'page_types'...\n"; $newList = new Lists(); $newList->setLabel('Page Types'); $newList->setListid($listPageType); $newList->setListtype('system'); $newList->save(); $newItem = new Listitem(); $newItem->setLabel('Content page'); $newItem->setValue('CONTENT'); $newItem->save(null, $newList); $newItem = new Listitem(); $newItem->setLabel('Page reference'); $newItem->setValue('REFERENCE'); $newItem->save(null, $newList); $newItem = new Listitem(); $newItem->setLabel('External page'); $newItem->setValue('EXTERNAL'); $newItem->save(null, $newList); } $cultureType = 'culture'; $c = new Criteria(); $c->add(ListsPeer::LIST_ID, $cultureType); $listExist = ListsPeer::doSelectOne($c); if (!$listExist) { echo "Creating list 'culture'...\n"; $newList = new Lists(); $newList->setLabel('Culture'); $newList->setListid($cultureType); $newList->setListtype('system'); $newList->save(); $newItem = new Listitem(); $newItem->setLabel('english'); $newItem->setValue('en'); $newItem->save(null, $newList); /* $newItem = new Listitem(); $newItem->setLabel('български'); $newItem->setValue('bg'); $newItem->save(null, $newList);*/ } $userType = 'usertype'; $c = new Criteria(); $c->add(ListsPeer::LIST_ID, $userType); $listExist = ListsPeer::doSelectOne($c); if (!$listExist) { echo "Creating list 'user types'...\n"; $newList = new Lists(); $newList->setLabel('User Types'); $newList->setListid($userType); $newList->setListtype('system'); $newList->save(); $newItem = new Listitem(); $newItem->setLabel('Administrator (all rights)'); $newItem->setValue('admin'); $newItem->save(null, $newList); $newItem = new Listitem(); $newItem->setLabel('Editor (no access to administration modules)'); $newItem->setValue('editor'); $newItem->save(null, $newList); $newItem = new Listitem(); $newItem->setLabel('Editor (edit and save existing items)'); $newItem->setValue('restricted_editor'); $newItem->save(null, $newList); } $Mailinglist_Folder = Document::getDocumentByExclusiveTag('newsletter_folder_mailinglist'); if (!$Mailinglist_Folder) { $Newsletter_Root = Rootfolder::getRootfolderByModule('Newsletter'); $Mailinglist_Folder = new Folder(); $Mailinglist_Folder->setLabel('Mailing lists'); $Mailinglist_Folder->save(null, $Newsletter_Root); Document::addTag($Mailinglist_Folder, 'newsletter_folder_mailinglist'); } $def_site = Document::getDocumentByExclusiveTag('website_website_default'); if (!$def_site) { $website_root = Rootfolder::getRootfolderByModule('Website'); $def_site = new Website(); $def_site->setLabel(UtilsHelper::mb_ucfirst($project_name)); $def_site->save(null, $website_root); Document::addTag($def_site, 'website_website_default'); } $homePage = Document::getDocumentByExclusiveTag('website_page_home'); if (!$homePage) { $homePage = new Page(); $homePage->setLabel('Home'); $homePage->setPageType('CONTENT'); $homePage->setNavigationTitle('Home'); $homePage->setTemplate('default'); $homePage->save(null, $def_site); Document::addTag($homePage, 'website_page_home'); } }
public function executeSearchTemplates() { $this->setLayout(false); if ($page = Document::getDocumentByExclusiveTag('website_page_add_search_template')) { $this->addHref = $page->getHref(); } else { $this->addHref = '#'; } $root = Rootfolder::getRootfolderByModule('search'); $brands = Document::getChildrenOf($root->getId(), 'Brand'); foreach ($brands as $b) { if ($items = Document::getChildrenOf($b->getId(), 'Search')) { $searchTemplates[$b->getId()] = $items; } } $this->brands = $brands; $this->searchTemplates = $searchTemplates; }
function run_newsletter($task, $args) { ini_set("memory_limit", "2048M"); define('SF_ROOT_DIR', sfConfig::get('sf_root_dir')); define('SF_APP', 'frontend'); define('SF_ENVIRONMENT', 'prod'); define('SF_DEBUG', false); require_once SF_ROOT_DIR . DIRECTORY_SEPARATOR . 'apps' . DIRECTORY_SEPARATOR . SF_APP . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.php'; /*$databaseManager = new sfDatabaseManager(); $databaseManager->initialize();*/ try { $controler = sfContext::getInstance()->getController(); $newsletterHtml = $controler->getPresentationFor("news", "composeNewsletter"); $newsletter = new Newsletter(); $today = UtilsHelper::DateBG(date('Y-m-d H:i:s', time()), 'd F, Y г.'); $newsletter->setLabel($today); $newsletter->setContent($newsletterHtml); $newsletter->save(); $mailinglist = Document::getDocumentByExclusiveTag("newsletter_mailinglist_default"); if ($mailinglist) { $subscribers = Document::getChildrenOf($mailinglist->getId(), "Subscriber"); } $subject = "Sgrada.com - ежедневен бюлетин"; $i = $ind = 0; $mailAddresses = array(); $cnt = count($subscribers); foreach ($subscribers as $subscriber) { $ind++; if ($subscriber->getPublicationStatus() == "ACTIVE") { $mailAddresses[] = $subscriber->getEmail(); echo " ====> " . $subscriber->getEmail() . "\n"; $i++; } if ($i == 100 || $ind == $cnt) { if (!empty($mailAddresses)) { //sendMail($mailAddresses, $subject, $newsletterHtml); $mail = new sfMail(); $mail->initialize(); $mail->setMailer('sendmail'); $mail->setCharset('utf-8'); $mail->setSender(UtilsHelper::NO_REPLY_MAIL, UtilsHelper::SYSTEM_SENDER); $mail->setFrom(UtilsHelper::NO_REPLY_MAIL, UtilsHelper::SYSTEM_SENDER); $mail->addAddress(UtilsHelper::NO_REPLY_MAIL); foreach ($mailAddresses as $mailAdd) { $mail->addBcc($mailAdd); } $mail->setContentType('text/html'); $mail->setSubject($subject); $mail->setBody($newsletterHtml); $mail->send(); } $mailAddresses = array(); $i = 0; } } } catch (Exception $e) { $newsletter->setLabel("ERROR! " . $today); $newsletter->save(); FileHelper::Log("TASK run_newsletter: " . $e->getMessage(), UtilsHelper::MSG_ERROR); } }
public function executeSave() { try { $parameters = $this->getRequest()->getParameterHolder()->getAll(); $parameters['documentName'] == "Folder" ? $moduleName = "Admin" : ($moduleName = $parameters['moduleName']); $documentName = $parameters["documentName"]; $parent = Document::getDocumentInstance($parameters['parent']); if (is_numeric($parameters['id'])) { $obj = Document::getDocumentInstance($parameters['id']); $parent = Document::getParentOf($parameters['id']); } else { $obj = new $documentName(); } include_once sfConfig::get('sf_root_dir') . "/config/Schema.class.php"; $m = "get" . $documentName . "Properties"; $properties = Schema::$m(); //exit(var_dump($properties)); $imageFields = explode(",", $parameters['imageFields']); /*foreach ($parameters as $property) { $function = 'set'.$property; $obj->$function(); }*/ foreach ($parameters as $key => $value) { if (!(strpos($key, 'attr') === false) && $key != "attrRewriteUrl") { $key = str_replace('attr', '', $key); if ($properties && $key != "Password" && !in_array($key, $properties)) { continue; } if ($key == "Password" && empty($value)) { continue; } $function = 'set' . $key; if (is_array($value)) { $date = $value['year'] . '-' . $value['month'] . '-' . $value['day']; // 2009-02-09 16:10:20 if ($value['hour'] && $value['minute']) { $time = $value['hour'] . ':' . $value['minute']; $value = $date . ' ' . $time; } else { $value = $date; } } if (in_array($key, $imageFields)) { $getFunction = 'get' . $key; $imgId = $obj->{$getFunction}(); if ($imgId != $value) { $img = Document::getDocumentInstance($imgId); if ($img) { $imgExt = $img->getExtention(); @unlink(sfConfig::get('sf_root_dir') . "/www/media/upload/thumbs/" . $parameters["moduleName"] . "/" . $imgId . "-" . $key . "." . $imgExt); } } } if ($key == "Keywords") { if ($value) { $value = str_replace(',', '][', $value); $value = '[' . substr($value, 0, -1); } } $obj->{$function}($value); } if (in_array($key, $imageFields) && !empty($value)) { $image = Document::getDocumentInstance($value); if ($image) { if (empty($parameters[$key . '_thumbheight'])) { $parameters[$key . '_thumbheight'] = null; } if (empty($parameters[$key . '_thumbwidth'])) { $parameters[$key . '_thumbwidth'] = null; } $image->resizeImage($parameters["moduleName"], $parameters[$key . '_thumbheight'], $parameters[$key . '_thumbwidth'], $key); } } } if (class_exists($documentName . "I18n") && $documentName != "Listitem") { if (!($culture = $parameters["attrCulture"])) { $culture = Document::getDocumentByExclusiveTag("default_culture"); if ($culture) { $culture = $culture->getValue(); } else { throw new Exception("No default culture defined"); } } $obj->save(null, $parent, $culture); if (!$parameters["id"]) { if (class_exists($documentName . "I18n")) { BackendService::objectSave($objI8n, $obj, $documentName . "I18n"); if ($documentName == "Page") { $objI8n->setRewriteUrl($parameters["attrRewriteUrl"]); } $objI8n->setCulture($culture); $objI8n->save(null, $obj, $culture); } $request = $this->getRequest(); $request->setParameter("id", $obj->getId()); } } else { $obj->save(null, $parent); } $tags = Document::getAvailableTagsOf($moduleName, $parameters['documentName']); foreach ($tags as $tag) { if ($parameters['tag_id_' . $tag->getId()]) { Document::addTag($obj, $tag->getTagId()); } else { Document::removeTag($obj, $tag->getTagId()); } } Tagrelation::updateTagRelationCache(); UtilsHelper::setBackendMsg("Saved"); } catch (Exception $e) { UtilsHelper::setBackendMsg("Error while saving: " . $e->getMessage(), "error"); } $this->forward(strtolower($moduleName), "edit" . $parameters['documentName']); exit; }
public function executeForceDownload() { set_time_limit(0); $baseDir = $this->getRequestParameter('dir'); $baseDir = "./" . str_replace("DIR_SEP", "/", $baseDir); if (substr($baseDir, -1) != "/") { $baseDir .= "/"; } $defWebsite = Document::getDocumentByExclusiveTag("website_website_default"); if ($defWebsite) { $allowed_referrer = $defWebsite->getUrl(); if (empty($allowed_referrer)) { FileHelper::Log("Default website URL is not defined", UtilsHelper::MSG_ERROR); } } else { FileHelper::Log("website_website_default tag is not defined", UtilsHelper::MSG_ERROR); } $allowed_ext = array('zip' => 'application/zip', 'pdf' => 'application/pdf', 'doc' => 'application/msword', 'xls' => 'application/vnd.ms-excel', 'ppt' => 'application/vnd.ms-powerpoint', 'exe' => 'application/octet-stream', 'gif' => 'image/gif', 'png' => 'image/png', 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'mp3' => 'audio/mpeg', 'wav' => 'audio/x-wav', 'mpeg' => 'video/mpeg', '3gp' => 'video/3gpp', 'mpg' => 'video/mpeg', 'mpe' => 'video/mpeg', 'mov' => 'video/quicktime', 'avi' => 'video/x-msvideo'); // If hotlinking not allowed then make hackers think there are some server problems //if ((!isset($_SERVER['HTTP_REFERER']) || strpos(strtoupper($_SERVER['HTTP_REFERER']), strtoupper($allowed_referrer)) === false)) //{ //die("Internal server error. Please contact system administrator."); //} if (!$this->getRequestParameter('file')) { die("Please specify file name for download."); } $fname = basename($this->getRequestParameter('file')); function find_file($dirname, $fname, &$file_path) { $dir = opendir($dirname); while ($file = readdir($dir)) { if (empty($file_path) && $file != '.' && $file != '..') { if (is_dir($dirname . '/' . $file)) { find_file($dirname . '/' . $file, $fname, $file_path); } else { if (file_exists($dirname . '/' . $fname)) { $file_path = $dirname . '/' . $fname; return; } } } } } $file_path = ''; find_file($baseDir, $fname, $file_path); if (!is_file($file_path)) { die("File does not exist. Make sure you specified correct file name."); } $fsize = filesize($file_path); $fext = strtolower(substr(strrchr($fname, "."), 1)); if (!array_key_exists($fext, $allowed_ext)) { die("File type not allowed."); } if ($allowed_ext[$fext] == '') { $mtype = ''; if (function_exists('mime_content_type')) { $mtype = mime_content_type($file_path); } else { if (function_exists('finfo_file')) { $finfo = finfo_open(FILEINFO_MIME); $mtype = finfo_file($finfo, $file_path); finfo_close($finfo); } } if ($mtype == '') { $mtype = "application/force-download"; } } else { $mtype = $allowed_ext[$fext]; } if (!$this->getRequestParameter('newname')) { $asfname = $fname; } else { $asfname = str_replace(array('"', "'", '\\', '/'), '', $this->getRequestParameter('newname')); if ($asfname === '') { $asfname = 'NoName'; } } $headers = get_headers($_SERVER['HTTP_REFERER'], 1); if (!$headers) { die("Internal server error. Please contact system administrator."); } /*header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: public"); header("Content-Description: File Transfer");*/ header("Content-Type: {$mtype}"); header("Content-Disposition: attachment; filename=\"{$asfname}\""); //header("Content-Transfer-Encoding: binary"); //header("Content-Length: " . $fsize); $file = @fopen($file_path, "rb"); if ($file) { while (!feof($file)) { print fread($file, 1024 * 8); flush(); if (connection_status() != 0) { @fclose($file); die; } } @fclose($file); } header("Content-Type: text/html; charset=utf-8"); header("Content-Disposition: inline"); }
public function executeSendNewsletter() { $mailinglistsFolder = Document::getDocumentByExclusiveTag("newsletter_folder_mailinglist"); if ($mailinglistsFolder) { $this->mailinglists = Document::getChildrenOf($mailinglistsFolder->getId(), "Mailinglist"); } $this->items = $this->getRequestParameter('items'); $mls = explode(",", $this->items); foreach ($mls as $ml) { $obj = Document::getDocumentInstance($ml); if (!$obj || get_class($obj) != "Newsletter") { exit("<br><br>Please choose at least one newsletter"); } } }
public function executeEditGalleryMedia() { try { $request = $this->getRequest(); // $params = array(); if ($id = $this->getRequestParameter("id")) { $media = Document::getDocumentInstance($id); $parentId = Document::getParentOf($id, null, false); $request->setParameter("parent", $parentId); $request->setParameter("attrLabel", $parentId . " gallery pic"); if ($this->getRequestParameter("submitted")) { if ($pathParam = trim($this->getRequestParameter("gp"))) { $pathAdd = DIRECTORY_SEPARATOR . str_replace("_", DIRECTORY_SEPARATOR, $pathParam); } // check for TAGged folder if ($parent = Document::getDocumentByExclusiveTag('media_folder_' . $pathParam, false)) { $this->getRequest()->setParameter("parent", $parent->getId()); } $allowedParam = trim($this->getRequestParameter("allowed")); if ($allowedParam == "images") { //if ($allowedParam == "images" || empty($allowedParam)) $allowedArr = array("image/gif", "image/jpeg", "image/pjpeg"); } elseif (!empty($allowedParam)) { $allowedArr = explode(",", $this->getRequestParameter("allowed")); } $media = Media::upload('galPic', "upload" . $pathAdd, $allowedArr, false); // $media = Media::upload('galPic', "upload", $allowedArr, false); if ($media && $media->IsImage()) { $fileName = $media->getServerAbsoluteUrl(); //$media->getFiledirpath().$media->getFilename(); list($w, $h) = getimagesize($fileName); $params['gw'] = $this->getRequestParameter("gw"); $params['gh'] = $this->getRequestParameter("gh"); $params['gtw'] = $this->getRequestParameter("gtw"); $params['gth'] = $this->getRequestParameter("gth"); $params['gcw'] = $this->getRequestParameter("gcw"); $params['gch'] = $this->getRequestParameter("gch"); $cropData = array(0, 0); if ($params['gcw'] || $params['gch']) { if ($params['gcw'] && $params['gch']) { $cropData = array($params['gcw'], $params['gch']); } else { if ($params['gcw']) { $cropData = array($params['gcw'], 0); } else { $cropData = array(0, $params['gch']); } } } if ($params['gw'] || $params['gh']) { if ($params['gw'] > 0 && $w > $params['gw'] || $params['gh'] > 0 && $h > $params['gh']) { $media->resizeImage(null, $params['gh'], $params['gw'], null, $cropData); } else { $media->resizeImage(null, null, 800, null, $cropData); } } else { $media->resizeImage(null, null, 800, null, array(800, 600)); } // thumbs if ($params['gtw'] || $params['gth']) { $media->resizeImage("thumbs", $params['gth'], $params['gtw']); } else { if ($h > $w) { $media->resizeImage("thumbs", 80, null, null, array(120, 80)); } else { $media->resizeImage("thumbs", null, 120, null, array(120, 80)); } } /* if ($h > $w) { $media->resizeImage(null, 600); $media->resizeImage(1, 80, null, null, array(120, 80)); } else { $media->resizeImage(null, null, 800); $media->resizeImage(1, null, 120, null, array(120, 80)); }*/ } } $this->description = $media->getDescription(); $this->newId = $media->getId(); } } catch (Exception $e) { // $this->message = $e->getMessage(); $this->message = UtilsHelper::Localize("media." . $e->getMessage()); } }