public function init() { $this->setMethod('POST'); $this->setName('guestForm'); $element = new Zend_Form_Element_Text('name'); $element->setLabel('怎么称呼您'); $element->setDescription('必填,中英文都可,2到30个字'); $element->setRequired(true); $this->addElement($element); $element = new Zend_Form_Element_Text('email'); $element->setLabel('您的Email'); $element->setRequired(true); $element->addValidator(new Zend_Validate_EmailAddress()); $element->addValidator('NotEmpty'); $element->setDescription('必填'); $this->addElement($element); $element = new Zend_Form_Element_Textarea('body'); $element->setLabel('您的留言'); $element->setAttrib('rows', 4); $element->addValidator('NotEmpty'); $this->addElement($element); $element = new Elements(); $element->addReCaptcha($this); $element = new Zend_Form_Element_Submit('post'); $element->setValue('提交')->removeDecorator('Label'); $this->addElement($element); }
public function init() { $languageFile = Zend_Registry::get('languageFile'); $translate = new Zend_Translate('array', $languageFile, 'zh_CN'); $this->setTranslator($translate); $this->setMethod('POST'); $this->setName('contactForm'); $element = new Zend_Form_Element_Text('name'); $element->setLabel('怎么称呼您'); $this->addElement($element); $element = new Zend_Form_Element_Text('email'); $element->setLabel('您的Email'); //$element->setRequired(true); $this->addElement($element); $element = new Elements(); $element->addReCaptcha($this); $this->addDisplayGroup(array('name', 'email', 'captcha'), 'leftSection'); $this->getDisplayGroup('leftSection')->removeDecorator('DtDdWrapper'); $element = new Zend_Form_Element_Textarea('body'); $element->setLabel('想要开通城市地区和找房贴士,关于您的简单介绍'); $element->addPrefixPath('My_Validator', 'My/Validator/', 'validate'); $element->addValidator('FormValueNotNull', true); //$element->setRequired(true); $element->setAttrib('rows', 13); $this->addElement($element); $this->addDisplayGroup(array('body'), 'rightSection'); $this->getDisplayGroup('rightSection')->removeDecorator('DtDdWrapper'); $element = new Zend_Form_Element_Submit('post'); $element->removeDecorator('Label'); $this->addElement($element); }
public function init() { $this->setMethod('POST'); $this->setName("adminForm"); $element = new Zend_Form_Element_Hidden('id'); $element->setValue($this->advertisement->id); $this->addElement($element); $element = new Zend_Form_Element_Hidden('city'); $element->setValue($this->city); $this->addElement($element); $element = new Zend_Form_Element_Radio('action'); $element->setMultiOptions(array('0' => '已解决, 关闭帖子', '1' => '打错了些东东, 修改帖子', '2' => '我是管理员, 删除帖子')); $element->setValue(0); $this->addElement($element); $element = new Zend_Form_Element_Text('password'); $element->setLabel('密码'); $element->setDescription('忘记密码?'); $this->addElement($element); $element = new Elements(); $element->addReCaptcha($this); $element = new Zend_Form_Element_Submit('post'); $element->setLabel('提交')->removeDecorator('Label'); $this->addElement($element); $this->addDisplayGroup(array('password', 'captcha', 'post'), 'leftMargin'); $this->getDisplayGroup('leftMargin')->removeDecorator('DtDdWrapper'); }
public function init() { $this->setMethod("POST"); $this->setName("createAdAgencyForm"); if (!empty($this->next)) { $element = new Zend_Form_Element_Hidden("next"); $element->setValue($this->next); $this->addElement($element); } $element = new Zend_Form_Element_Hidden(AdvertisingAgency::CITY); $element->setValue($this->city->id); $this->addElement($element); $element = new Zend_Form_Element_Text(User::NAME); $element->setLabel('怎么称呼您'); $element->setDescription('必填,中英文都可,2到30个字'); $this->addElement($element); $element = new Zend_Form_Element_Text(User::EMAIL); $element->setLabel('您的Email'); $element->setDescription('必填,方便我们联系您'); $element->setRequired(true); $element->addValidator(new Zend_Validate_EmailAddress()); $element->addValidator('NotEmpty'); $this->addElement($element); $element = new Zend_Form_Element_Text(User::MOBILE); $element->setLabel('您的手机号'); $element->addFilter(new Zend_Filter_HtmlEntities()); $element->addFilter(new Zend_Filter_StripTags()); $element->setDescription('方便我们及时联系您'); $this->addElement($element); $this->addDisplayGroup(array('city_id', 'name', 'email', 'mobile'), 'aboutYou'); $this->getDisplayGroup('aboutYou')->removeDecorator('DtDdWrapper'); $element = new Zend_Form_Element_Textarea(AdvertisingAgency::DESCRIPTION); $element->setAttrib('rows', 6); $element->setLabel("有哪些人要入住?基本情况?尽量详细!"); $element->setDescription('如:三口之家,男30岁在爱立信有稳定工作,不吸烟;女27岁在kth读计算机硕士,不吸烟,男孩6岁。整洁,爱干净。'); $element->setRequired(true); $this->addElement($element); $element = new Zend_Form_Element_Textarea(AdvertisingAgency::COMMENT); $element->setAttrib('rows', 6); $element->setLabel("对房子的要求?最高房租?最小面积?地点?入住时间?"); $element->setDescription('如:最好是一室一厅的整个公寓,也可以与其他人合租。可以合用厨房卫生间。最高房租10000kr每月,最小面积30平米。地点只要是地铁附近,不要离中心太远都可以。入住时间是9月1日,希望能长租。'); $element->setRequired(true); $this->addElement($element); $element = new Elements(); $element->addReCaptcha($this); $element = new Zend_Form_Element_Submit("post"); $this->addElement($element); $this->addDisplayGroup(array(AdvertisingAgency::DESCRIPTION, AdvertisingAgency::COMMENT, 'challenge', 'post'), 'aboutRoom'); $this->getDisplayGroup('aboutRoom')->removeDecorator('DtDdWrapper'); }
function createUsersList($sort) { $this->readFromFile($sort); $UsersList = ""; $UsersList = $UsersList . "<tr>\r\n <td>\r\n <a href='listClients.php?sort=name'>Vardas</a>\r\n </td>\r\n <td>\r\n <a href='listClients.php?sort=email'>Paštas</a>\r\n </td>\r\n <td>\r\n Naujienos\r\n </td>\r\n <td>\r\n <a href='listClients.php?sort=date'>Data</a>\r\n </td>\r\n <td>\r\n Veiksmas\r\n </td>\r\n </tr>"; foreach ($this->usersList as $userData) { if ($userData[1] != "") { $news = new Elements(); $newsName = $news->findNewsName($userData[3]); $date = gmdate("Y-m-d H:i:s", $userData[4]); $UsersList = $UsersList . "<tr><td><a href='listClients.php?action=edit&id=" . $userData[0] . "'>" . $userData[1] . "</a></td><td>" . $userData[2] . "</td><td>" . $newsName . "</td><td>{$date}</td><td><a href='listClients.php?action=delete&id=" . $userData[0] . "'>Trinti</a></td></tr>"; } } $UsersList = "<table border=1>{$UsersList}</table>"; return $UsersList; }
public function init() { $this->setMethod('POST'); $this->setName('sendEmailForm'); //$this->setAction('index/view'); $element = new Zend_Form_Element_Hidden('id'); $element->setValue($this->advertisement->id); $this->addElement($element); $element = new Zend_Form_Element_Hidden('city'); $element->setValue($this->city); $this->addElement($element); $element = new Zend_Form_Element_Text('name'); $element->setLabel('怎么称呼您'); $element->setRequired(true); $element->setDescription('必填'); $this->addElement($element); $element = new Zend_Form_Element_Text('email'); $element->setLabel('您的Email'); $element->setRequired(true); $element->addValidator(new Zend_Validate_EmailAddress()); $element->addFilter(new Zend_Filter_HtmlEntities()); $element->addFilter(new Zend_Filter_StripTags()); $element->addValidator('NotEmpty'); $element->setDescription('必填'); $this->addElement($element); $element = new Zend_Form_Element_Textarea('body'); $element->setLabel('内容'); $element->setRequired(true); $element->addValidator('NotEmpty'); $element->setDescription('必填'); $element->setAttrib('rows', 4); $this->addElement($element); $element = new Elements(); $element->addReCaptcha($this); $element = new Zend_Form_Element_Submit('send'); $element->setValue('发送'); $element->removeDecorator('Label'); $this->addElement($element); }
/** * Renderiza o menu em HTML */ public function getHTML($role = 'default') { $menu_itens = $this->menu_itens[$role] ? $this->menu_itens[$role] : []; $menu_configs = $this->menu_configs; if (!$menu_itens || !is_array($menu_itens)) { return 'Nenhum menu foi definido para o seguinte nivel de acesso: <strong>' . $role . '</strong>'; } $itens = ''; $i = 0; foreach ($menu_itens as $key => $value) { $i++; $menu_data = MenuData::get($key); $real_link = $this->realLink->get($value); // Dropdown if (is_array($value) && $value) { $dropdown_itens = ''; foreach ($value as $dropdown_key => $dropdown_value) { $submenu_data = MenuData::get($dropdown_key); $submenu_real_link = $this->realLink->get($dropdown_value); $submenu_link_active = $this->checkActive->link($submenu_real_link) ? $menu_configs['link_active_class'] : ''; $link = Elements::get('link', [$submenu_real_link, $menu_configs['link_class'], $submenu_link_active, $submenu_data->title, $submenu_data->icon, $menu_configs['link_before'], $submenu_data->title, $menu_configs['link_after']]); $submenu_active = $this->checkActive->link($submenu_real_link) ? $menu_configs['dropdown_item_active_class'] : ''; $dropdown_itens .= Elements::get('dropdown_item', [$menu_configs['dropdown_item_class'], $submenu_active, $link]); } $dropdown = Elements::get('dropdown', [$i, $menu_configs['dropdown_class'], $dropdown_itens]); $attrs = Attrs::render($menu_configs['link_dropdown_attrs']); $active = $this->checkActive->dropdown($value) ? $menu_configs['link_active_class'] : ''; $link = Elements::get('link_with_dropdown', [$i, $menu_configs['link_dropdown_class'], $active, $attrs, $menu_data->title, $menu_data->icon, $menu_configs['link_before'], $menu_data->title, $menu_configs['link_after'], $dropdown]); $active = $this->checkActive->dropdown($value) ? $menu_configs['menu_item_active_class'] : ''; $itens .= Elements::get('menu_item', [$menu_configs['menu_item_dropdown_class'], $active, $link]); } else { $link_active = $this->checkActive->link($real_link) ? $menu_configs['link_active_class'] : ''; $link = Elements::get('link', [$real_link, $menu_configs['link_class'], $link_active, $menu_data->title, $menu_data->icon, $menu_configs['link_before'], $menu_data->title, $menu_configs['link_after']]); $active = $this->checkActive->link($real_link) ? $menu_configs['menu_item_active_class'] : ''; $itens .= Elements::get('menu_item', [$menu_configs['menu_item_class'], $active, $link]); } } $menu = Elements::get('menu', [$menu_configs['menu_class'], $menu_configs['menu_id'], $itens]); if ($menu_configs['container']) { $this->html = Elements::get('container', [$menu_configs['container'], $menu_configs['container_id'], $menu_configs['container_class'], $menu, $menu_configs['container']]); } else { $this->html = $menu; } return $this->html; }
/** * @inheritDoc */ protected function openTag($ele) { $this->wr('<')->wr($this->traverser->isLocalElement($ele) ? $ele->localName : $ele->tagName); $this->attrs($ele); $this->namespaceAttrs($ele); if ($this->outputMode == static::IM_IN_HTML) { if (!Elements::isA($ele->localName, Elements::VOID_TAG)) { $this->wr('>'); } else { $this->wr(' />'); } } else { if ($ele->hasChildNodes()) { $this->wr('>'); } else { $this->wr(' />'); } } }
public static function sortChildren($intElementId) { $lastSort = 0; $arrItemlist = request("itemlist"); $lastPosition = request("pos", 0); if (is_array($arrItemlist) && count($arrItemlist) > 0) { //*** Find last sort position. if ($lastPosition > 0) { $objElements = Elements::getFromParent($intElementId); $objElements->seek($lastPosition); $lastSort = $objElements->current()->getSort(); } //*** Loop through the items and manipulate the sort order. foreach ($arrItemlist as $value) { $lastSort++; $objElement = Element::selectByPK($value); $objElement->setSort($lastSort); $objElement->save(FALSE); } } }
function parsePages($intElmntId, $strCommand) { global $objLang, $_CLEAN_POST, $objLiveUser, $_CONF, $_PATHS, $DBAConn, $objMultiUpload; $objTpl = new HTML_Template_IT($_PATHS['templates']); $blnUiError = Request::get('err', 0); switch ($strCommand) { case CMD_LIST: $objTpl->loadTemplatefile("multiview.tpl.htm"); $objTpl->setVariable("MAINTITLE", $objLang->get("pcmsElements", "menu")); $objElement = Element::selectByPK($intElmntId); if (empty($intElmntId)) { $strElmntName = "Website"; } else { if (is_object($objElement)) { $strElmntName = $objElement->getName(); } else { $strElmntName = ""; } } if (is_object($objElement) || empty($intElmntId)) { if (empty($intElmntId)) { $objElements = Elements::getFromParent(0, false); } else { $objElements = $objElement->getElements(false); } if (is_object($objElements)) { //*** Initiate child element loop. $listCount = 0; $intPosition = request("pos"); $intPosition = !empty($intPosition) && is_numeric($intPosition) ? $intPosition : 0; $intPosition = floor($intPosition / $_SESSION["listCount"]) * $_SESSION["listCount"]; $objElements->seek($intPosition); //*** Loop through the elements. foreach ($objElements as $objSubElement) { //if (Permissions::hasElementPermission(SPINCMS_ELEMENTS_READ, $objSubElement)) { $objTemplate = Template::selectByPK($objSubElement->getTemplateId(), array('name')); $strMeta = $objLang->get("editedBy", "label") . " " . $objSubElement->getUsername() . ", " . Date::fromMysql($objLang->get("datefmt"), $objSubElement->getModified()); $objTpl->setCurrentBlock("multiview-item"); if ($objSubElement->getTypeId() != ELM_TYPE_LOCKED) { $objTpl->setVariable("BUTTON_DUPLICATE", $objLang->get("duplicate", "button")); $objTpl->setVariable("BUTTON_DUPLICATE_HREF", "javascript:PElement.duplicate({$objSubElement->getId()});"); $objTpl->setVariable("BUTTON_REMOVE", $objLang->get("delete", "button")); $objTpl->setVariable("BUTTON_REMOVE_HREF", "javascript:PElement.remove({$objSubElement->getId()});"); } $objTpl->setVariable("MULTIITEM_VALUE", $objSubElement->getId()); //if (Permissions::hasElementPermission(SPINCMS_ELEMENTS_WRITE, $objSubElement)) { $objTpl->setVariable("MULTIITEM_HREF", "href=\"?cid=" . NAV_PCMS_ELEMENTS . "&eid={$objSubElement->getId()}&cmd=" . CMD_EDIT . "\""); //} else { // $objTpl->setVariable("MULTIITEM_HREF", ""); //} if ($objSubElement->getActive() < 1) { $objTpl->setVariable("MULTIITEM_ACTIVE", " class=\"inactive\""); } $strValue = htmlspecialchars($objSubElement->getName()); $strShortValue = getShortValue($strValue, 50); $intSize = strlen($strValue); $objTpl->setVariable("MULTIITEM_NAME", $intSize > 50 ? $strShortValue : $strValue); $objTpl->setVariable("MULTIITEM_TITLE", $intSize > 50 ? $strValue : ""); $strTypeClass = ""; if ($objSubElement->getTypeId() == ELM_TYPE_FOLDER) { $strTypeClass = "folder"; } else { $objChildElements = $objSubElement->getElements(); if (is_object($objChildElements) && $objChildElements->count() > 0) { switch ($objSubElement->getTypeId()) { case ELM_TYPE_DYNAMIC: $strTypeClass = "widget-dynamic"; break; case ELM_TYPE_LOCKED: $strTypeClass = "widget-locked"; break; default: $strTypeClass = "widget"; } } else { switch ($objSubElement->getTypeId()) { case ELM_TYPE_DYNAMIC: $strTypeClass = "element-dynamic"; break; case ELM_TYPE_LOCKED: $strTypeClass = "element-locked"; break; default: $strTypeClass = "element"; } } } $objTpl->setVariable("MULTIITEM_TYPE_CLASS", $strTypeClass); if (is_object($objTemplate)) { $objTpl->setVariable("MULTIITEM_TYPE", ", " . $objTemplate->getName()); } $objTpl->setVariable("MULTIITEM_META", $strMeta); $objTpl->parseCurrentBlock(); $listCount++; if ($listCount >= $_SESSION["listCount"]) { break; } //} } //*** Render page navigation. $pageCount = ceil($objElements->count() / $_SESSION["listCount"]); if ($pageCount > 0) { $currentPage = ceil(($intPosition + 1) / $_SESSION["listCount"]); $previousPos = $intPosition - $_SESSION["listCount"] > 0 ? $intPosition - $_SESSION["listCount"] : 0; $nextPos = $intPosition + $_SESSION["listCount"] < $objElements->count() ? $intPosition + $_SESSION["listCount"] : $intPosition; $objTpl->setVariable("PAGENAV_PAGE", sprintf($objLang->get("pageNavigation", "label"), $currentPage, $pageCount)); $objTpl->setVariable("PAGENAV_PREVIOUS", $objLang->get("previous", "button")); $objTpl->setVariable("PAGENAV_PREVIOUS_HREF", "?cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}&pos={$previousPos}"); $objTpl->setVariable("PAGENAV_NEXT", $objLang->get("next", "button")); $objTpl->setVariable("PAGENAV_NEXT_HREF", "?cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}&pos={$nextPos}"); //*** Top page navigation. for ($intCount = 0; $intCount < $pageCount; $intCount++) { $objTpl->setCurrentBlock("multiview-pagenavitem-top"); $position = $intCount * $_SESSION["listCount"]; if ($intCount != $intPosition / $_SESSION["listCount"]) { $objTpl->setVariable("PAGENAV_HREF", "href=\"?cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}&pos={$position}\""); } $objTpl->setVariable("PAGENAV_VALUE", $intCount + 1); $objTpl->parseCurrentBlock(); } //*** Bottom page navigation. for ($intCount = 0; $intCount < $pageCount; $intCount++) { $objTpl->setCurrentBlock("multiview-pagenavitem-bottom"); $position = $intCount * $_SESSION["listCount"]; if ($intCount != $intPosition / $_SESSION["listCount"]) { $objTpl->setVariable("PAGENAV_HREF", "href=\"?cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}&pos={$position}\""); } $objTpl->setVariable("PAGENAV_VALUE", $intCount + 1); $objTpl->parseCurrentBlock(); } } } } //*** Render list action pulldown. if (!is_object($objElement) || $objElement->getTypeId() != ELM_TYPE_LOCKED) { $arrActions[$objLang->get("choose", "button")] = 0; $arrActions[$objLang->get("delete", "button") . " "] = "delete"; $arrActions[$objLang->get("duplicate", "button") . " "] = "duplicate"; $arrActions[$objLang->get("activate", "button") . " "] = "activate"; $arrActions[$objLang->get("deactivate", "button") . " "] = "deactivate"; if (is_object($objElement)) { $arrActions[$objLang->get("export", "button") . " "] = "export"; } foreach ($arrActions as $key => $value) { $objTpl->setCurrentBlock("multiview-listactionitem"); $objTpl->setVariable("LIST_ACTION_TEXT", $key); $objTpl->setVariable("LIST_ACTION_VALUE", $value); $objTpl->parseCurrentBlock(); } } //*** Render the rest of the page. $objTpl->setCurrentBlock("multiview"); $objTpl->setVariable("ACTIONS_OPEN", $objLang->get("pcmsOpenActionsMenu", "menu")); $objTpl->setVariable("ACTIONS_CLOSE", $objLang->get("pcmsCloseActionsMenu", "menu")); $objTpl->setVariable("LIST_LENGTH_HREF_10", "href=\"?list=10&cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}\""); $objTpl->setVariable("LIST_LENGTH_HREF_25", "href=\"?list=25&cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}\""); $objTpl->setVariable("LIST_LENGTH_HREF_100", "href=\"?list=100&cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}\""); switch ($_SESSION["listCount"]) { case 10: $objTpl->setVariable("LIST_LENGTH_HREF_10", ""); break; case 25: $objTpl->setVariable("LIST_LENGTH_HREF_25", ""); break; case 100: $objTpl->setVariable("LIST_LENGTH_HREF_100", ""); break; } $objTpl->setVariable("LIST_LENGTH_HREF", "&cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}"); if (!is_object($objElement) || $objElement->getTypeId() != ELM_TYPE_LOCKED) { $objTpl->setVariable("LIST_WITH_SELECTED", $objLang->get("withSelected", "label")); $objTpl->setVariable("BUTTON_LIST_SELECT", $objLang->get("selectAll", "button")); $objTpl->setVariable("BUTTON_LIST_SELECT_HREF", "javascript:PElement.multiSelect()"); $objTpl->setVariable("LIST_ACTION_ONCHANGE", "PElement.multiDo(this, this[this.selectedIndex].value)"); } $objTpl->setVariable("LIST_ITEMS_PER_PAGE", $objLang->get("itemsPerPage", "label")); if (!isset($objElement) || $objElement->getTypeId() != ELM_TYPE_DYNAMIC && $objElement->getTypeId() != ELM_TYPE_LOCKED) { $objTpl->setVariable("BUTTON_NEWSUBJECT", $objLang->get("newElement", "button")); $objDefaultLang = ContentLanguage::getDefault(); if (!is_object($objDefaultLang)) { $objTpl->setVariable("BUTTON_NEWSUBJECT_HREF", "javascript:alert('" . $objLang->get("elementBeforeLanguage", "alert") . "')"); } else { $objTpl->setVariable("BUTTON_NEWSUBJECT_HREF", "?cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}&cmd=" . CMD_ADD); } $objTpl->setVariable("BUTTON_NEWFOLDER", $objLang->get("newFolder", "button")); $objTpl->setVariable("BUTTON_NEWFOLDER_HREF", "?cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}&cmd=" . CMD_ADD_FOLDER); if ($objLiveUser->checkRight($_CONF['app']['navRights'][NAV_PCMS_TEMPLATES] == true)) { $objTpl->setVariable("BUTTON_EXPORT_ELEMENT", $objLang->get("export", "button")); $objTpl->setVariable("BUTTON_EXPORT_ELEMENT_HREF", "?cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}&cmd=" . CMD_EXPORT_ELEMENT); $objTpl->setVariable("BUTTON_IMPORT_ELEMENT", $objLang->get("import", "button")); $objTpl->setVariable("BUTTON_IMPORT_ELEMENT_HREF", "?cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}&cmd=" . CMD_IMPORT_ELEMENT); } } if (!isset($objElement) || $objElement->getTypeId() != ELM_TYPE_LOCKED) { $objTpl->setVariable("BUTTON_NEWDYNAMIC", $objLang->get("newDynamic", "button")); $objTpl->setVariable("BUTTON_NEWDYNAMIC_HREF", "?cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}&cmd=" . CMD_ADD_DYNAMIC); if ($intElmntId > 0) { $objElement = Element::selectByPK($intElmntId); $objTpl->setVariable("BUTTON_EDIT", $objLang->get("edit", "button")); $objTpl->setVariable("BUTTON_EDIT_HREF", "?cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}&cmd=" . CMD_EDIT); } } $objTpl->setVariable("LABEL_SUBJECT", $objLang->get("elementsIn", "label") . " "); $objTpl->setVariable("SUBJECT_NAME", $strElmntName); $objTpl->setVariable("EID", $intElmntId); $objTpl->parseCurrentBlock(); break; case CMD_REMOVE: if (strpos($intElmntId, ',') !== false) { //*** Multiple elements submitted. $arrElements = explode(',', $intElmntId); $objElements = Element::selectByPK($arrElements); $intParent = $objElements->current()->getParentId(); foreach ($objElements as $objElement) { $objElement->delete(); } } else { //*** Single element submitted. $objElement = Element::selectByPK($intElmntId); $intParent = $objElement->getParentId(); $objElement->delete(); } //*** Redirect the page. $strReturnTo = request('returnTo'); if (empty($strReturnTo)) { header("Location: " . Request::getUri() . "/?cid=" . request("cid") . "&cmd=" . CMD_LIST . "&eid=" . $intParent); exit; } else { header("Location: " . Request::getURI() . $strReturnTo); exit; } break; case CMD_DUPLICATE: if (strpos($intElmntId, ',') !== false) { //*** Multiple elements submitted. $arrElements = explode(',', $intElmntId); $objElements = Element::selectByPK($arrElements); $intParent = $objElements->current()->getParentId(); foreach ($objElements as $objElement) { $objElement->setUsername($objLiveUser->getProperty("name")); $objDuplicate = $objElement->duplicate($objLang->get("copyOf", "label")); //*** Update the search index. $objSearch = new Search(); $objSearch->updateIndex($objDuplicate->getId()); } } else { //*** Single element submitted. $objElement = Element::selectByPK($intElmntId); $intParent = $objElement->getParentId(); $objElement->setUsername($objLiveUser->getProperty("name")); $objDuplicate = $objElement->duplicate($objLang->get("copyOf", "label")); //*** Update the search index. $objSearch = new Search(); $objSearch->updateIndex($objDuplicate->getId()); } //*** Redirect the page. $strReturnTo = request('returnTo'); if (empty($strReturnTo)) { header("Location: " . Request::getURI() . "/?cid=" . request("cid") . "&cmd=" . CMD_LIST . "&eid=" . $intParent); exit; } else { header("Location: " . Request::getURI() . $strReturnTo); exit; } break; case CMD_ACTIVATE: case CMD_DEACTIVATE: if (strpos($intElmntId, ',') !== false) { //*** Multiple elements submitted. $arrElements = explode(',', $intElmntId); $objElements = Element::selectByPK($arrElements); $intParent = $objElements->current()->getParentId(); foreach ($objElements as $objElement) { if ($strCommand == CMD_ACTIVATE) { $objElement->setActive(1); } else { $objElement->setActive(0); } $objElement->save(); } } else { //*** Single element submitted. $objElement = Element::selectByPK($intElmntId); $intParent = $objElement->getParentId(); if ($strCommand == CMD_ACTIVATE) { $objElement->setActive(1); } else { $objElement->setActive(0); } $objElement->save(); } //*** Redirect the page. $strReturnTo = request('returnTo'); if (empty($strReturnTo)) { header("Location: " . Request::getURI() . "/?cid=" . request("cid") . "&cmd=" . CMD_LIST . "&eid=" . $intParent); exit; } else { header("Location: " . Request::getURI() . $strReturnTo); exit; } break; case CMD_ADD: case CMD_EDIT: case CMD_ADD_FOLDER: case CMD_ADD_DYNAMIC: $objTpl->loadTemplatefile("elementfields.tpl.htm"); $blnError = false; $blnIsFolder = false; $blnIsDynamic = false; //*** Check the element type (element or folder) if ($strCommand == CMD_EDIT) { $objElement = Element::selectByPK($intElmntId); if (is_object($objElement) && $objElement->getTypeId() == ELM_TYPE_FOLDER) { $blnIsFolder = true; } else { if (is_object($objElement) && $objElement->getTypeId() == ELM_TYPE_DYNAMIC) { $blnIsDynamic = true; } } } else { if ($strCommand == CMD_ADD_FOLDER) { $blnIsFolder = true; } else { if ($strCommand == CMD_ADD_DYNAMIC) { $blnIsDynamic = true; } } } //*** Check if the rootfolder has been submitted. if ($strCommand == CMD_EDIT && $intElmntId == 0) { //*** Redirect to list mode. header("Location: " . Request::getURI() . "/?cid=" . request("cid") . "&cmd=" . CMD_LIST . "&eid=" . $intElmntId); exit; } //*** Check if an invalid element has been submitted. if ($strCommand == CMD_EDIT && !is_object($objElement)) { //*** Redirect to list mode. header("Location: " . Request::getURI() . "/?cid=" . request("cid") . "&cmd=" . CMD_LIST . "&eid=0"); exit; } //*** Set section title. if ($blnIsFolder) { if ($strCommand == CMD_EDIT) { $objTpl->setVariable("MAINTITLE", $objLang->get("folderDetailsFor", "label")); $objTpl->setVariable("MAINSUB", $objElement->getName()); } else { $objTpl->setVariable("MAINTITLE", $objLang->get("folderDetails", "label")); } } else { if ($blnIsDynamic) { if ($strCommand == CMD_EDIT) { $objTpl->setVariable("MAINTITLE", $objLang->get("dynamicDetailsFor", "label")); $objTpl->setVariable("MAINSUB", $objElement->getName()); } else { $objTpl->setVariable("MAINTITLE", $objLang->get("dynamicDetails", "label")); } } else { if ($strCommand == CMD_EDIT) { $objTpl->setVariable("MAINTITLE", $objLang->get("pageDetailsFor", "label")); $objTpl->setVariable("MAINSUB", $objElement->getName()); } else { $objTpl->setVariable("MAINTITLE", $objLang->get("pageDetails", "label")); } } } //*** Post the element form if submitted. if (count($_CLEAN_POST) > 0 && !empty($_CLEAN_POST['dispatch']) && $_CLEAN_POST['dispatch'] == "addElement") { //*** The element form has been posted. //*** Check sanitized input. if (is_null($_CLEAN_POST["frm_active"])) { $objTpl->setVariable("ERROR_ACTIVE_ON", " error"); $objTpl->setVariable("ERROR_ACTIVE", $objLang->get("active", "formerror")); $blnError = true; } if ($strCommand == CMD_ADD_FOLDER || $blnIsFolder) { if (is_null($_CLEAN_POST["frm_ispage"])) { $objTpl->setVariable("ERROR_ISPAGE_ON", " error"); $objTpl->setVariable("ERROR_ISPAGE", $objLang->get("isPage", "formerror")); $blnError = true; } } if ($strCommand == CMD_ADD_DYNAMIC || $blnIsDynamic) { if (is_null($_CLEAN_POST["frm_feed"])) { $objTpl->setVariable("ERROR_FEED_ON", " error"); $objTpl->setVariable("ERROR_FEED", $objLang->get("feed", "formerror")); $blnError = true; } if (is_null($_CLEAN_POST["frm_feedpath"])) { $objTpl->setVariable("ERROR_FEEDPATH_ON", " error"); $objTpl->setVariable("ERROR_FEEDPATH", $objLang->get("feedPath", "formerror")); $blnError = true; } if (is_null($_CLEAN_POST["frm_maxitems"])) { $objTpl->setVariable("ERROR_MAXITEMS_ON", " error"); $objTpl->setVariable("ERROR_MAXITEMS", $objLang->get("maxItems", "formerror")); $blnError = true; } } if (is_null($_CLEAN_POST["frm_name"])) { $objTpl->setVariable("ERROR_NAME_ON", " error"); $objTpl->setVariable("ERROR_NAME", $objLang->get("templateName", "formerror")); $blnError = true; } if (is_null($_CLEAN_POST["frm_apiname"])) { $objTpl->setVariable("ERROR_APINAME_ON", " error"); $objTpl->setVariable("ERROR_APINAME", $objLang->get("commonTypeWord", "formerror")); $blnError = true; } /* if (is_null($_CLEAN_POST["frm_alias"])) { $objTpl->setVariable("ERROR_ALIAS_ON", " error"); $objTpl->setVariable("ERROR_ALIAS", $objLang->get("commonTypeWord", "formerror")); $blnError = true; } */ if (is_null($_CLEAN_POST["frm_template"]) && !$blnIsFolder) { $objTpl->setVariable("ERROR_TEMPLATE_ON", " error"); $objTpl->setVariable("ERROR_TEMPLATE", $objLang->get("commonTypeText", "formerror")); $blnError = true; } if (is_null($_CLEAN_POST["frm_description"])) { $objTpl->setVariable("ERROR_NOTES_ON", " error"); $objTpl->setVariable("ERROR_NOTES", $objLang->get("commonTypeText", "formerror")); $blnError = true; } if (is_null($_CLEAN_POST["dispatch"])) { $blnError = true; } //*** Check element specific fields. //*** TODO!! if ($blnError === true) { //*** Display global error. if ($blnIsFolder) { $objTpl->setVariable("FORM_ISPAGE_VALUE", isset($_POST["frm_ispage"]) && $_POST["frm_ispage"] == "on" ? "checked=\"checked\"" : ""); } $objTpl->setVariable("FORM_ACTIVE_VALUE", isset($_POST["frm_active"]) && $_POST["frm_active"] == "on" ? "checked=\"checked\"" : ""); $objTpl->setVariable("FORM_NAME_VALUE", $_POST["frm_name"]); $objTpl->setVariable("FORM_APINAME_VALUE", $_POST["frm_apiname"]); //$objTpl->setVariable("FORM_ALIAS_VALUE", $_POST["frm_alias"]); if ($blnIsDynamic) { $objTpl->setVariable("FORM_MAXITEMS_VALUE", $_POST["frm_maxitems"]); } $objTpl->setVariable("FORM_NOTES_VALUE", $_POST["frm_description"]); $objTpl->setVariable("ERROR_MAIN", $objLang->get("main", "formerror")); //*** Display element specific errors. //*** TODO!! } else { //*** Input is valid. Save the element. if ($strCommand == CMD_EDIT) { $objElement = Element::selectByPK($intElmntId); $objParent = Element::selectByPK($objElement->getParentId()); } else { $objParent = Element::selectByPK($_POST["eid"]); $objPermissions = new ElementPermission(); if (is_object($objParent)) { $objPermissions->setUserId($objParent->getPermissions()->getUserId()); $objPermissions->setGroupId($objParent->getPermissions()->getGroupId()); } $objElement = new Element(); $objElement->setParentId($_POST["eid"]); $objElement->setAccountId($_CONF['app']['account']->getId()); $objElement->setPermissions($objPermissions); } $objElement->setActive(empty($_CLEAN_POST["frm_active"]) ? 0 : 1); $objElement->setIsPage(empty($_CLEAN_POST["frm_ispage"]) ? 0 : 1); $objElement->setName($_CLEAN_POST["frm_name"]); $objElement->setApiName($_CLEAN_POST["frm_apiname"]); $objElement->setDescription($_CLEAN_POST["frm_description"]); $objElement->setUsername($objLiveUser->getProperty("name")); //*** Get remote settings. $strServer = Setting::getValueByName('ftp_server'); $strUsername = Setting::getValueByName('ftp_username'); $strPassword = Setting::getValueByName('ftp_password'); $strRemoteFolder = Setting::getValueByName('ftp_remote_folder'); if ($blnIsFolder) { $objElement->setTypeId(ELM_TYPE_FOLDER); } else { if ($blnIsDynamic) { $objElement->setTypeId(ELM_TYPE_DYNAMIC); $objElement->setTemplateId($_CLEAN_POST["frm_template"]); } else { $objElement->setTypeId(ELM_TYPE_ELEMENT); $objElement->setTemplateId($_CLEAN_POST["frm_template"]); } } $objElement->save(); if ($blnIsDynamic) { $intFeedId = $_CLEAN_POST["frm_feed"]; if (empty($intFeedId)) { $intFeedId = $objParent->getFeed()->getFeedId(); } $objElementFeed = new ElementFeed(); $objElementFeed->setFeedId($intFeedId); $objElementFeed->setFeedPath($_CLEAN_POST["frm_feedpath"]); $objElementFeed->setMaxItems($_CLEAN_POST["frm_maxitems"]); if ($_CLEAN_POST["frm_dynamic_alias_check"]) { $objElementFeed->setAliasField($_CLEAN_POST["frm_dynamic_alias"]); } else { $objElementFeed->setAliasField(""); } $objElement->setFeed($objElementFeed); } //*** Handle the publish values. $objElement->clearSchedule(); $objSchedule = new ElementSchedule(); if (!empty($_CLEAN_POST["publish_start"])) { $strDate = $_CLEAN_POST["publish_start_date"]; if (empty($strDate)) { $strDate = strftime($_CONF['app']['universalDate']); } $strDate = Date::convertDate($strDate, $_CONF['app']['universalDate'], "%d %B %Y"); $strHour = empty($_CLEAN_POST["publish_start_hour"]) ? "00" : $_CLEAN_POST["publish_start_hour"]; $strMinute = empty($_CLEAN_POST["publish_start_minute"]) ? "00" : $_CLEAN_POST["publish_start_minute"]; $strDate = $strDate . " " . $strHour . ":" . $strMinute . ":00"; $objSchedule->setStartActive(1); $objSchedule->setStartDate(Date::toMysql($strDate)); } else { //*** If not set we set the date to 0. This is nessecary for the client side library, $objSchedule->setStartActive(0); $objSchedule->setStartDate(APP_DEFAULT_STARTDATE); } if (!empty($_CLEAN_POST["publish_end"])) { $strDate = $_CLEAN_POST["publish_end_date"]; if (empty($strDate)) { $strDate = strftime($_CONF['app']['universalDate']); } $strDate = Date::convertDate($strDate, $_CONF['app']['universalDate'], "%d %B %Y"); $strHour = empty($_CLEAN_POST["publish_end_hour"]) ? "00" : $_CLEAN_POST["publish_end_hour"]; $strMinute = empty($_CLEAN_POST["publish_end_minute"]) ? "00" : $_CLEAN_POST["publish_end_minute"]; $strDate = $strDate . " " . $strHour . ":" . $strMinute . ":00"; $objSchedule->setEndActive(1); $objSchedule->setEndDate(Date::toMysql($strDate)); } else { //*** If not set we set the date in the far future. This is nessecary for the client side library, $objSchedule->setEndActive(0); $objSchedule->setEndDate(APP_DEFAULT_ENDDATE); } $objElement->setSchedule($objSchedule); //*** Handle the meta values. if ($objElement->isPage()) { $objElement->clearMeta(); $objElement->clearAliases(); $arrFields = array("title", "keywords", "description"); $objContentLangs = ContentLanguage::select(); foreach ($objContentLangs as $objContentLanguage) { //*** Insert the value by language. foreach ($arrFields as $value) { $objMeta = new ElementMeta(); $arrCascades = explode(",", request("frm_meta_{$value}_cascades")); $blnCascade = in_array($objContentLanguage->getId(), $arrCascades) ? 1 : 0; $objMeta->setName($value); $objMeta->setValue(request("frm_meta_{$value}_{$objContentLanguage->getId()}")); $objMeta->setLanguageId($objContentLanguage->getId()); $objMeta->setCascade($blnCascade); $objElement->setMeta($objMeta); } $objAlias = new Alias(); $arrCascades = explode(",", request("frm_meta_alias_cascades")); $blnCascade = in_array($objContentLanguage->getId(), $arrCascades) ? 1 : 0; $objAlias->setAlias(request("frm_meta_alias_{$objContentLanguage->getId()}")); $objAlias->setLanguageId($objContentLanguage->getId()); $objAlias->setCascade($blnCascade); $objElement->setAlias($objAlias); } } //*** Handle element values. if (!$blnIsFolder) { //*** Cache and clear values. $objCachedFields = $objElement->getFields(true); $objElement->clearFields(); $objElement->clearLanguages(); //*** Insert the active flag by language. $arrActives = explode(",", request("language_actives")); $objContentLangs = ContentLanguage::select(); foreach ($objContentLangs as $objContentLanguage) { $blnActive = in_array($objContentLanguage->getId(), $arrActives) ? true : false; $objElement->setLanguageActive($objContentLanguage->getId(), $blnActive); if ($strCommand == CMD_ADD && !isset($_POST['language_actives'])) { $objElement->setLanguageActive($objContentLanguage->getId(), true); } } //*** Cache to handsome array. $arrFieldCache = array(); foreach ($objCachedFields as $objCacheField) { foreach ($objContentLangs as $objContentLanguage) { if ($objCacheField->getTypeId() == FIELD_TYPE_FILE || $objCacheField->getTypeId() == FIELD_TYPE_IMAGE) { $arrFieldCache[$objCacheField->getTemplateFieldId()][$objContentLanguage->getId()] = $objCacheField->value[$objContentLanguage->getId()]->getValue(); } } } foreach ($_REQUEST as $key => $value) { //*** Template Fields. if (substr($key, 0, 4) == "efv_") { //*** Get the template Id from the request $intTemplateFieldId = substr($key, 4); //*** Is the Id really an Id? if (is_numeric($intTemplateFieldId)) { $objTemplateField = TemplateField::selectByPK($intTemplateFieldId); $objField = new ElementField(); $objField->setElementId($objElement->getId()); $objField->setTemplateFieldId($intTemplateFieldId); $objField->save(); //*** Get the cascade value for the currentfield. $arrCascades = explode(",", request("efv_{$intTemplateFieldId}_cascades")); //*** Loop through the languages to insert the value by language. $objContentLangs = ContentLanguage::select(); foreach ($objContentLangs as $objContentLanguage) { //*** Insert the value by language. in_array($objContentLanguage->getId(), $arrCascades) ? $blnCascade = true : ($blnCascade = false); $strValue = request("efv_{$intTemplateFieldId}_{$objContentLanguage->getId()}"); //*** Check for certain type requirements. switch ($objTemplateField->getTypeId()) { case FIELD_TYPE_FILE: case FIELD_TYPE_IMAGE: $cacheFileValue = ""; $arrCurrent = is_array($strValue) ? $strValue : array(); foreach ($arrCurrent as $value) { if (!empty($value)) { $arrFile = explode(":", $value); if (count($arrFile) > 1 && !empty($arrFile[1])) { $cacheFileValue .= $value . "\n"; //*** Remove file from cache. if (isset($arrFieldCache[$intTemplateFieldId]) && isset($arrFieldCache[$intTemplateFieldId][$objContentLanguage->getId()])) { $arrFieldCache[$intTemplateFieldId][$objContentLanguage->getId()] = str_replace($value, "", $arrFieldCache[$intTemplateFieldId][$objContentLanguage->getId()]); } } } } //*** Multifile SWFUpload foreach ($arrCurrent as $value) { if (!empty($value)) { $arrFile = explode(":", $value); if (count($arrFile) > 1 && empty($arrFile[1])) { //*** Any image manipulation? $strLocalValue = ImageField::filename2LocalName($arrFile[0]); $objImageField = new ImageField($intTemplateFieldId); $arrSettings = $objImageField->getSettings(); if (count($arrSettings) > 1) { foreach ($arrSettings as $key => $arrSetting) { $strFileName = FileIO::add2Base($strLocalValue, $arrSetting['key']); if (copy($_PATHS['upload'] . $arrFile[0], $_PATHS['upload'] . $strFileName)) { if ($objTemplateField->getTypeId() == FIELD_TYPE_IMAGE && (!empty($arrSetting['width']) || !empty($arrSetting['height']))) { //*** Check if the image has the right size. $blnResize = true; $arrSize = getimagesize($_PATHS['upload'] . $strFileName); if ($arrSize !== false) { if ($arrSize[0] == $arrSetting['width'] && $arrSize[1] == $arrSetting['height']) { //*** Skip image resize. $blnResize = false; } } //*** Resize the image. if ($blnResize) { $intQuality = empty($arrSetting['quality']) ? 75 : $arrSetting['quality']; ImageResizer::resize($_PATHS['upload'] . $strFileName, $arrSetting['width'], $arrSetting['height'], $arrSetting['scale'], $intQuality, true, NULL, false, $arrSetting['grayscale']); } } //*** Move file to remote server. $objUpload = new SingleUpload(); if (!$objUpload->moveToFTP($strFileName, $_PATHS['upload'], $strServer, $strUsername, $strPassword, $strRemoteFolder)) { Log::handleError("File could not be moved to remote server. " . $objUpload->errorMessage()); } } } //*** Move original file. if (rename($_PATHS['upload'] . $arrFile[0], $_PATHS['upload'] . $strLocalValue)) { $objUpload = new SingleUpload(); if (!$objUpload->moveToFTP($strLocalValue, $_PATHS['upload'], $strServer, $strUsername, $strPassword, $strRemoteFolder)) { Log::handleError("File could not be moved to remote server. " . $objUpload->errorMessage()); } } //*** Unlink original file. @unlink($_PATHS['upload'] . $arrFile[0]); } else { if ($objTemplateField->getTypeId() == FIELD_TYPE_IMAGE && (!empty($arrSettings[0]['width']) || !empty($arrSettings[0]['height']))) { $strFileName = FileIO::add2Base($strLocalValue, $arrSettings[0]['key']); //*** Resize the image. if (rename($_PATHS['upload'] . $arrFile[0], $_PATHS['upload'] . $strFileName)) { //*** Check if the image has the right size. $blnResize = true; $arrSize = getimagesize($_PATHS['upload'] . $strFileName); if ($arrSize !== false) { if ($arrSize[0] == $arrSettings[0]['width'] && $arrSize[1] == $arrSettings[0]['height']) { //*** Skip image resize. $blnResize = false; } } if ($blnResize) { $intQuality = empty($arrSettings[0]['quality']) ? 75 : $arrSettings[0]['quality']; ImageResizer::resize($_PATHS['upload'] . $strFileName, $arrSettings[0]['width'], $arrSettings[0]['height'], $arrSettings[0]['scale'], $intQuality, true, NULL, false, $arrSettings[0]['grayscale']); } //*** Move file to remote server. $objUpload = new SingleUpload(); if (!$objUpload->moveToFTP($strFileName, $_PATHS['upload'], $strServer, $strUsername, $strPassword, $strRemoteFolder)) { Log::handleError("File could not be moved to remote server."); } } } //*** Move original file. if (file_exists($_PATHS['upload'] . $arrFile[0]) && rename($_PATHS['upload'] . $arrFile[0], $_PATHS['upload'] . $strLocalValue)) { //*** Move file to remote server. $objUpload = new SingleUpload(); if (!$objUpload->moveToFTP($strLocalValue, $_PATHS['upload'], $strServer, $strUsername, $strPassword, $strRemoteFolder)) { Log::handleError("File could not be moved to remote server."); } } //*** Unlink original file. @unlink($_PATHS['upload'] . $arrFile[0]); } //*** Set file value. $cacheFileValue .= $arrFile[0] . ":" . $strLocalValue . "\n"; } } } //*** Check newly uploaded files. $strFiles = "efv_{$intTemplateFieldId}_{$objContentLanguage->getId()}_new"; $fileValue = $cacheFileValue; if (isset($_FILES[$strFiles])) { if ($objTemplateField->getTypeId() == FIELD_TYPE_FILE) { $objValue = $objTemplateField->getValueByName("tfv_file_extension"); $strExtensions = is_object($objValue) ? $objValue->getValue() : ""; if (!empty($strExtensions)) { $strExtensions = str_replace("%s", Setting::getValueByName('file_upload_extensions'), $strExtensions); $objMultiUpload->setExtensions(explode(" ", strtolower($strExtensions))); } else { $objMultiUpload->setExtensions(explode(" ", strtolower(Setting::getValueByName('file_upload_extensions')))); } } else { $objMultiUpload->setExtensions(explode(" ", strtolower(Setting::getValueByName('image_upload_extensions')))); } $objMultiUpload->setTempNames($_FILES[$strFiles]['tmp_name']); $objMultiUpload->setOriginalNames($_FILES[$strFiles]['name']); $objMultiUpload->setErrors($_FILES[$strFiles]['error']); $objMultiUpload->uploadFiles(); if ($objMultiUpload->getTotalFiles() == $objMultiUpload->getSuccessFiles()) { //*** Everything is cool. $localValues = $objMultiUpload->getLocalNames(); //*** Any image manipulation? $blnResize = false; $objImageField = new ImageField($intTemplateFieldId); $arrSettings = $objImageField->getSettings(); if ($objTemplateField->getTypeId() == FIELD_TYPE_IMAGE && (!empty($arrSettings[0]['width']) || !empty($arrSettings[0]['height']))) { $blnResize = true; } foreach ($objMultiUpload->getOriginalNames() as $subkey => $subvalue) { if (!empty($subvalue)) { $fileValue .= $subvalue . ":" . $localValues[$subkey] . "\n"; //*** Check if the image has the right size. if ($blnResize) { $arrSize = getimagesize($_PATHS['upload'] . $localValues[$subkey]); if ($arrSize !== false) { if ($arrSize[0] == $arrSettings[0]['width'] && $arrSize[1] == $arrSettings[0]['height']) { //*** Skip image resize. $blnResize = false; } } } //*** Resize the image. if ($blnResize) { $intQuality = empty($arrSettings[0]['quality']) ? 75 : $arrSettings[0]['quality']; ImageResizer::resize($_PATHS['upload'] . $localValues[$subkey], $arrSettings[0]['width'], $arrSettings[0]['height'], $arrSettings[0]['scale'], $intQuality, true, NULL, false, $arrSettings[0]['grayscale']); } } } //*** Move file to remote server. if (!$objMultiUpload->moveToFTP($strServer, $strUsername, $strPassword, $strRemoteFolder)) { $strMessage = $objLang->get("moveToFTP", "alert"); $fileValue = $cacheFileValue; } } else { $strMessage = $objMultiUpload->errorMessage() . "<br />"; $strMessage .= "Files: " . $objMultiUpload->getTotalFiles() . " and Success: " . $objMultiUpload->getSuccessFiles(); } } $strValue = $fileValue; break; case FIELD_TYPE_BOOLEAN: if ($strValue == "1") { $strValue = "true"; } if (empty($strValue)) { $strValue = "false"; } break; } $objValue = $objField->getNewValueObject(); $objValue->setValue($strValue); $objValue->setLanguageId($objContentLanguage->getId()); $objValue->setCascade($blnCascade ? 1 : 0); $objField->setValueObject($objValue); } } } //*** Feed Fields. if (substr($key, 0, 4) == "tpf_") { //*** Get the template Id from the request $intTemplateFieldId = substr($key, 4); //*** Is the Id really an Id? if (is_numeric($intTemplateFieldId)) { //*** Get the cascade value for the currentfield. $arrCascades = explode(",", request("efv_{$intTemplateFieldId}_cascades")); //*** Loop through the languages to insert the value by language. $objContentLangs = ContentLanguage::select(); foreach ($objContentLangs as $objContentLanguage) { //*** Insert the value by language. in_array($objContentLanguage->getId(), $arrCascades) ? $blnCascade = true : ($blnCascade = false); $strValue = request("tpf_{$intTemplateFieldId}_{$objContentLanguage->getId()}"); $objFeedField = new ElementFieldFeed(); $objFeedField->setElementId($objElement->getId()); $objFeedField->setTemplateFieldId($intTemplateFieldId); $objFeedField->setFeedPath(str_replace("----", "/", $strValue)); $objFeedField->setXpath(str_replace("----", "/", $strValue)); $objFeedField->setLanguageId($objContentLanguage->getId()); $objFeedField->setCascade($blnCascade ? 1 : 0); $objFeedField->save(); } } } } //*** Remove deleted files. $objFtp = new FTP($strServer, NULL, NULL, true); $objFtp->login($strUsername, $strPassword); $objFtp->pasv(true); foreach ($arrFieldCache as $intTemplateFieldId => $arrLanguage) { foreach ($arrLanguage as $strValue) { $arrValues = explode("\n", $strValue); foreach ($arrValues as $value) { if (!empty($value)) { //*** Find file name. $arrFile = explode(":", $value); if (count($arrFile) > 1 && count($arrFile) < 3) { //*** Check if the file is used by other elements. if (!ElementField::fileHasDuplicates($value)) { //*** Remove file. $strFile = $strRemoteFolder . $arrFile[1]; $objFtp->delete($strFile); //*** Resized variations? $objImageField = new ImageField($intTemplateFieldId); $arrSettings = $objImageField->getSettings(); foreach ($arrSettings as $key => $arrSetting) { if (!empty($arrSetting['width']) || !empty($arrSetting['height'])) { //*** Remove file. $strFile = $strRemoteFolder . FileIO::add2Base($arrFile[1], $arrSetting['key']); $objFtp->delete($strFile); } } } } } } } } //*** Update the search index. $objSearch = new Search(); $objSearch->updateIndex($objElement->getId()); //*** Clear cache if caching enabled. $objElement->clearCache($objFtp); $objElement->clearZeroCache($objFtp); } else { //*** Activate all languages for the folder type. $objContentLangs = ContentLanguage::select(); foreach ($objContentLangs as $objContentLanguage) { $objElement->setLanguageActive($objContentLanguage->getId(), true); } } //*** Redirect the page. if (empty($strMessage)) { $intForward = $objElement->getParentId(); $varCmd = CMD_LIST; $intForwardToElement = null; $varValue = Setting::getValueByName("edit_after_save"); if ($varValue && $strCommand == CMD_ADD) { $intForwardToElement = $objElement->getId(); $varCmd = CMD_EDIT; } else { if (Setting::getValueByName('next_after_save') && $intForward > 0) { //*** Try to get first child element if (Setting::getValueByName("next_is_child")) { $objChildren = $objElement->getElements(); if (is_object($objChildren) && $objChildren->count() > 0) { $objChild = $objChildren->current(); $intForwardToElement = $objChild->getId(); if ($intForwardToElement > 0) { $varCmd = CMD_EDIT; } } } //*** Get next sibling $objParent = Element::selectByPK($objElement->getParentId()); $objChildren = $objParent->getElements(); $blnBreak = false; if (is_object($objChildren) && is_null($intForwardToElement)) { foreach ($objChildren as $objChild) { if ($blnBreak) { $intForwardToElement = $objChild->getId(); $varCmd = CMD_EDIT; break; } if ($objElement->getId() == $objChild->getId()) { $blnBreak = true; } } } } } if (!empty($intForwardToElement) && $intForwardToElement !== 0) { $intForward = $intForwardToElement; } header("Location: " . Request::getUri() . "/?cid=" . $_POST["cid"] . "&cmd=" . $varCmd . "&eid=" . $intForward); exit; } else { $_SESSION['uiError'] = $strMessage; header("Location: " . Request::getUri() . "/?cid=" . $_POST["cid"] . "&cmd=" . CMD_EDIT . "&eid=" . $objElement->getId() . "&err=1"); exit; } } } //*** Parse the page. $objElement = Element::selectByPK($intElmntId); //*** Errors. if ($blnUiError) { $objTpl->setCurrentBlock("error-main"); $objTpl->setVariable("ERROR_MAIN", $_SESSION['uiError']); $objTpl->parseCurrentBlock(); } //*** Render the template pulldown. if ($blnIsFolder) { $objTpl->setCurrentBlock("headertitel_simple"); $objTpl->setVariable("HEADER_TITLE", $objLang->get("details", "label")); $objTpl->parseCurrentBlock(); $objTemplates = NULL; } else { $objTpl->setCurrentBlock("headertitel_simple"); $objTpl->setVariable("HEADER_TITLE", $objLang->get("details", "label")); $objTpl->parseCurrentBlock(); if (is_object($objElement)) { if ($strCommand == CMD_EDIT) { $objTemplate = Template::selectByPK($objElement->getTemplateId()); $objTemplates = new DBA__Collection(); $objTemplates->addObject($objTemplate); } else { $objTemplates = $objElement->getSubTemplates(); } } else { $strSql = sprintf("SELECT * FROM pcms_template WHERE parentId = '0' AND accountId = '%s'", $_CONF['app']['account']->getId()); $objTemplates = Template::select($strSql); } } if (is_object($objTemplates)) { foreach ($objTemplates as $objTemplate) { $objTpl->setCurrentBlock("list_template"); $objTpl->setVariable("TEMPLATELIST_VALUE", $objTemplate->getId()); $objTpl->setVariable("TEMPLATELIST_TEXT", $objTemplate->getName()); $objTpl->parseCurrentBlock(); } //*** Render fields if there is only one template. if ($objTemplates->count() == 1 || $strCommand == CMD_EDIT) { $strLanguageBlock = $blnIsDynamic ? "feed.list_language" : "list_language"; $intDefaultLanguage = ContentLanguage::getDefault()->getId(); $intSelectLanguage = $intDefaultLanguage; $objContentLangs = ContentLanguage::select(); foreach ($objContentLangs as $objContentLanguage) { $objTpl->setCurrentBlock($strLanguageBlock); $objTpl->setVariable("LANGUAGELIST_VALUE", $objContentLanguage->getId()); if ($intDefaultLanguage == $objContentLanguage->getId()) { $objTpl->setVariable("LANGUAGELIST_TEXT", $objContentLanguage->getName() . " (" . $objLang->get("default", "label") . ")"); } else { $objTpl->setVariable("LANGUAGELIST_TEXT", $objContentLanguage->getName()); } if ($intSelectLanguage == $objContentLanguage->getId()) { $objTpl->setVariable("LANGUAGELIST_SELECTED", " selected=\"selected\""); } $objTpl->parseCurrentBlock(); } $objTemplates->rewind(); $objFields = $objTemplates->current()->getFields(); $objTpl->setVariable("LABEL_ELEMENT_FIELDS", $objLang->get("elementFields", "label")); $strFields = ""; if (!$blnIsDynamic) { foreach ($objFields as $objField) { $objFieldTpl = new HTML_Template_ITX($_PATHS['templates']); $objFieldTpl->loadTemplatefile("elementfield.tpl.htm"); //*** Get the field value from the element. $strValue = ""; if (is_object($objElement)) { $strValue = $objElement->getValueByTemplateField($objField->getId()); } $strDescription = $objField->getDescription(); //*** Get the field type object. $objType = TemplateFieldType::selectByPK($objField->getTypeId()); $intMaxFileCount = null; switch ($objField->getTypeId()) { case FIELD_TYPE_DATE: $objFieldTpl->addBlockfile('ELEMENT_FIELD', 'field.date', 'elementfield_date.tpl.htm'); foreach ($objContentLangs as $objContentLanguage) { $objFieldTpl->setCurrentBlock("field.{$objType->getInput()}.value"); $objFieldTpl->setVariable("FIELD_LANGUAGE_ID", "efv_{$objField->getId()}_{$objContentLanguage->getId()}"); if (is_object($objElement)) { $strValue = $objElement->getValueByTemplateField($objField->getId(), $objContentLanguage->getId(), true); $strValue = Date::fromMysql($_CONF['app']['universalDate'], $strValue); } else { $strValue = ""; } $objFieldTpl->setVariable("FIELD_LANGUAGE_VALUE", htmlspecialchars($strValue)); $objFieldTpl->parseCurrentBlock(); } $objValue = $objField->getValueByName("tfv_field_format"); $strFormatValue = is_object($objValue) ? $objValue->getValue() : ""; $objFieldTpl->setCurrentBlock("field.date"); $objFieldTpl->setVariable("FIELD_ID", "efv_{$objField->getId()}"); if ($objField->getRequired()) { $objFieldTpl->setVariable("FIELD_REQUIRED", "* "); } $objFieldTpl->setVariable("FIELD_DATE_FORMAT", $strFormatValue); $objFieldTpl->setVariable("FIELD_NAME", html_entity_decode($objField->getName())); if (is_object($objElement)) { $objElementField = $objElement->getFieldByTemplateField($objField->getId()); if (is_object($objElementField)) { $objFieldTpl->setVariable("FIELD_CASCADES", implode(",", $objElementField->getCascades())); } } if (!empty($strDescription)) { $objFieldTpl->setVariable("FIELD_DESCRIPTION", $objField->getDescription()); } $objFieldTpl->parseCurrentBlock(); break; case FIELD_TYPE_LARGETEXT: $objFieldTpl->addBlockfile('ELEMENT_FIELD', 'field.simpletext', 'elementfield_textarea.tpl.htm'); foreach ($objContentLangs as $objContentLanguage) { $objFieldTpl->setCurrentBlock("field.simpletext.value"); $objFieldTpl->setVariable("FIELD_LANGUAGE_ID", "efv_{$objField->getId()}_{$objContentLanguage->getId()}"); if (is_object($objElement)) { $strValue = htmlspecialchars($objElement->getValueByTemplateField($objField->getId(), $objContentLanguage->getId())); } else { $strValue = ""; } $objFieldTpl->setVariable("FIELD_LANGUAGE_VALUE", $strValue); $objFieldTpl->parseCurrentBlock(); } //*** Calculate and set the textarea height. $minHeight = 115; $maxHeight = 400; $intHeight = $minHeight; $objValue = $objField->getValueByName("tfv_field_max_characters"); $strMaxChar = is_object($objValue) ? $objValue->getValue() : ""; if (!empty($strMaxChar) && is_numeric($strMaxChar)) { $intHeight = ($strMaxChar - 500) * 0.05 + $minHeight; if ($intHeight < $minHeight) { $intHeight = $minHeight; } if ($intHeight > $maxHeight) { $intHeight = $maxHeight; } } $objFieldTpl->setCurrentBlock("field.simpletext"); $objFieldTpl->setVariable("FIELD_ID", "efv_{$objField->getId()}"); $objFieldTpl->setVariable("FIELD_HEIGHT", "{$intHeight}px"); if ($objField->getRequired()) { $objFieldTpl->setVariable("FIELD_REQUIRED", "* "); } $objFieldTpl->setVariable("FIELD_NAME", html_entity_decode($objField->getName())); if (!empty($strDescription)) { $objFieldTpl->setVariable("FIELD_DESCRIPTION", $objField->getDescription()); } if (is_object($objElement)) { $objElementField = $objElement->getFieldByTemplateField($objField->getId()); if (is_object($objElementField)) { $objFieldTpl->setVariable("FIELD_CASCADES", implode(",", $objElementField->getCascades())); } } $objFieldTpl->parseCurrentBlock(); break; case FIELD_TYPE_SELECT_LIST_SINGLE: case FIELD_TYPE_SELECT_LIST_MULTI: if ($objField->getTypeId() == FIELD_TYPE_SELECT_LIST_SINGLE) { $objDefaultValue = $objField->getValueByName("tfv_list_default"); $objValue = $objField->getValueByName("tfv_list_value"); $strFieldClass = "select-one"; $strMultiple = ""; } else { $objDefaultValue = $objField->getValueByName("tfv_multilist_default"); $objValue = $objField->getValueByName("tfv_multilist_value"); $strFieldClass = "select-multiple"; $strMultiple = "multiple=\"multiple\""; } $objFieldTpl->addBlockfile('ELEMENT_FIELD', 'field.select', 'elementfield_selectlist.tpl.htm'); $strTemplValue = is_object($objDefaultValue) ? $objDefaultValue->getValue() : ""; foreach ($objContentLangs as $objContentLanguage) { $objFieldTpl->setCurrentBlock("field.select.value"); $objFieldTpl->setVariable("FIELD_LANGUAGE_ID", "efv_{$objField->getId()}_{$objContentLanguage->getId()}"); //*** Determine the selected value for the list. if (is_object($objElement)) { $strValue = $objElement->getValueByTemplateField($objField->getId(), $objContentLanguage->getId()); } else { $strValue = NULL; } if (!empty($strValue) || !is_null($strValue)) { //*** Do Nothing. } elseif (!empty($strTemplValue)) { $strValue = $strTemplValue; } $arrDefaultValue = explode("\n", $strValue); $arrValue = array(); foreach ($arrDefaultValue as $value) { $value = trim($value); if (!empty($value)) { array_push($arrValue, $value); } } $objFieldTpl->setVariable("FIELD_LANGUAGE_VALUE", implode(",", $arrValue)); $objFieldTpl->parseCurrentBlock(); } //*** Render options for the list. $strListValue = is_object($objValue) ? $objValue->getValue() : ""; $arrValues = explode("\n", $strListValue); foreach ($arrValues as $value) { if (!empty($value)) { //*** Determine if we have a label. $arrValue = explode(":", $value); if (count($arrValue) > 1) { $optionLabel = trim($arrValue[0]); $optionValue = trim($arrValue[1]); } else { $optionLabel = trim($value); $optionValue = trim($value); } $objFieldTpl->setCurrentBlock("field.select.option"); $objFieldTpl->setVariable("FIELD_VALUE", $optionValue); $objFieldTpl->setVariable("FIELD_TEXT", xhtmlsave($optionLabel)); $objFieldTpl->parseCurrentBlock(); } } $objFieldTpl->setCurrentBlock("field.select"); $objFieldTpl->setVariable("FIELD_SELECT_SIZE", 1); $objFieldTpl->setVariable("FIELD_CLASS", $strFieldClass); $objFieldTpl->setVariable("FIELD_MULTIPLE", $strMultiple); $objFieldTpl->setVariable("FIELD_ID", "efv_{$objField->getId()}"); if ($objField->getRequired()) { $objFieldTpl->setVariable("FIELD_REQUIRED", "* "); } $objFieldTpl->setVariable("FIELD_NAME", html_entity_decode($objField->getName())); if (!empty($strDescription)) { $objFieldTpl->setVariable("FIELD_DESCRIPTION", $objField->getDescription()); } if (is_object($objElement)) { $objElementField = $objElement->getFieldByTemplateField($objField->getId()); if (is_object($objElementField)) { $objFieldTpl->setVariable("FIELD_CASCADES", implode(",", $objElementField->getCascades())); } } $objFieldTpl->parseCurrentBlock(); break; case FIELD_TYPE_CHECK_LIST_SINGLE: case FIELD_TYPE_CHECK_LIST_MULTI: if ($objField->getTypeId() == FIELD_TYPE_CHECK_LIST_SINGLE) { $objDefaultValue = $objField->getValueByName("tfv_list_default"); $objValue = $objField->getValueByName("tfv_list_value"); $strType = "radio"; } else { $objDefaultValue = $objField->getValueByName("tfv_multilist_default"); $objValue = $objField->getValueByName("tfv_multilist_value"); $strType = "checkbox"; } $objFieldTpl->addBlockfile('ELEMENT_FIELD', 'field.check', 'elementfield_checklist.tpl.htm'); $strTemplValue = is_object($objDefaultValue) ? $objDefaultValue->getValue() : ""; foreach ($objContentLangs as $objContentLanguage) { $objFieldTpl->setCurrentBlock("field.check.value"); $objFieldTpl->setVariable("FIELD_LANGUAGE_ID", "efv_{$objField->getId()}_{$objContentLanguage->getId()}"); //*** Determine the selected value for the list. if (is_object($objElement)) { $strValue = $objElement->getValueByTemplateField($objField->getId(), $objContentLanguage->getId()); } else { $strValue = NULL; } if (!empty($strValue) || !is_null($strValue)) { //*** Do Nothing. } elseif (!empty($strTemplValue)) { $strValue = $strTemplValue; } $arrDefaultValue = explode("\n", $strValue); $arrValue = array(); foreach ($arrDefaultValue as $value) { $value = trim($value); if (!empty($value)) { array_push($arrValue, $value); } } $objFieldTpl->setVariable("FIELD_LANGUAGE_VALUE", implode(",", $arrValue)); $objFieldTpl->parseCurrentBlock(); } //*** Render options for the list. $strListValue = is_object($objValue) ? $objValue->getValue() : ""; $arrValues = explode("\n", $strListValue); $intCount = 0; foreach ($arrValues as $value) { if (!empty($value)) { //*** Determine if we have a label. $arrValue = explode(":", $value); if (count($arrValue) > 1) { $optionLabel = trim($arrValue[0]); $optionValue = trim($arrValue[1]); } else { $optionLabel = trim($value); $optionValue = trim($value); } $objFieldTpl->setCurrentBlock("field.check.item"); $objFieldTpl->setVariable("SUBFIELD_TYPE", $strType); $objFieldTpl->setVariable("SUBFIELD_VALUE", $optionValue); $objFieldTpl->setVariable("SUBFIELD_TEXT", $optionLabel); $objFieldTpl->setVariable("SUBFIELD_ID", "efv_{$objField->getId()}_sub_{$intCount}"); $objFieldTpl->setVariable("FIELD_ID", "efv_{$objField->getId()}"); $objFieldTpl->parseCurrentBlock(); $intCount++; } } $objFieldTpl->setCurrentBlock("field.list"); $objFieldTpl->setVariable("SUBFIELD_TYPE", $strType); $objFieldTpl->parseCurrentBlock(); $objFieldTpl->setCurrentBlock("field.check"); $objFieldTpl->setVariable("FIELD_ID", "efv_{$objField->getId()}"); if ($objField->getRequired()) { $objFieldTpl->setVariable("FIELD_REQUIRED", "* "); } $objFieldTpl->setVariable("FIELD_NAME", html_entity_decode($objField->getName())); if (!empty($strDescription)) { $objFieldTpl->setVariable("FIELD_DESCRIPTION", $objField->getDescription()); } if (is_object($objElement)) { $objElementField = $objElement->getFieldByTemplateField($objField->getId()); if (is_object($objElementField)) { $objFieldTpl->setVariable("FIELD_CASCADES", implode(",", $objElementField->getCascades())); } } $objFieldTpl->parseCurrentBlock(); break; case FIELD_TYPE_IMAGE: $objValue = $objField->getValueByName('tfv_image_count'); $intMaxFileCount = is_object($objValue) ? $objValue->getValue() : 10000; $strCurrentTitle = $objLang->get("imagesCurrent", "label"); $strNewTitle = $objLang->get("imagesNew", "label"); $strThumbPath = Setting::getValueByName("web_server") . Setting::getValueByName("file_folder"); $strUploadPath = Request::getURI() . $_CONF['app']['baseUri'] . "files/"; case FIELD_TYPE_FILE: if (!isset($intMaxFileCount)) { $objValue = $objField->getValueByName('tfv_file_count'); $intMaxFileCount = is_object($objValue) ? $objValue->getValue() : 10000; $strCurrentTitle = $objLang->get("filesCurrent", "label"); $strNewTitle = $objLang->get("filesNew", "label"); $strThumbPath = Setting::getValueByName("web_server") . Setting::getValueByName("file_folder"); $strUploadPath = Request::getURI() . $_CONF['app']['baseUri'] . "files/"; } if (is_object($objElement)) { $objElementField = $objElement->getFieldByTemplateField($objField->getId()); } $objFieldTpl->addBlockfile('ELEMENT_FIELD', 'field.file', 'elementfield_file.tpl.htm'); foreach ($objContentLangs as $objContentLanguage) { if (is_object($objElement)) { $strValue = $objElement->getValueByTemplateField($objField->getId(), $objContentLanguage->getId(), true); } else { $strValue = ""; } $intFileCount = 0; if (!empty($strValue)) { $arrValues = explode("\n", $strValue); foreach ($arrValues as $value) { if (!empty($value)) { $arrValue = explode(":", $value); if (count($arrValue) > 1) { $strValue = $arrValue[1]; $strLabel = $arrValue[0]; //*** Media library item? if (count($arrValue) > 2) { $strValue = $arrValue[1] . ":" . $arrValue[2]; } } else { $strValue = $arrValue[0]; $strLabel = $arrValue[0]; } $intFileCount++; $objFieldTpl->setCurrentBlock("field.file.edit"); $objFieldTpl->setVariable("FIELD_LANGUAGE_ID_COUNT", "efv_{$objField->getId()}_{$objContentLanguage->getId()}_{$intFileCount}"); $objFieldTpl->setVariable("FIELD_LANGUAGE_ID", "efv_{$objField->getId()}_{$objContentLanguage->getId()}"); $objFieldTpl->setVariable("FIELD_LANGUAGE_VALUE", "{$strLabel}:{$strValue}"); $objFieldTpl->parseCurrentBlock(); } } } $objFieldTpl->setCurrentBlock("field.file.value"); $objFieldTpl->setVariable("FIELD_LANGUAGE_ID", "efv_{$objField->getId()}_{$objContentLanguage->getId()}"); $objFieldTpl->setVariable("FIELD_LANGUAGE_CURRENT_FILES", $intFileCount); $objFieldTpl->setVariable("FIELD_LANGUAGE_ALTTEXT_VALUE", ""); $objFieldTpl->parseCurrentBlock(); } $intFileCount = 0; if (!empty($strValue)) { $arrValues = explode("\n", $strValue); foreach ($arrValues as $value) { if (!empty($value)) { $arrValue = explode(":", $value); if (count($arrValue) > 1) { $strValue = $arrValue[1]; $strLabel = $arrValue[0]; } else { $strValue = $arrValue[0]; $strLabel = $arrValue[0]; } if ($objField->getTypeId() == FIELD_TYPE_IMAGE) { $objFieldTpl->setCurrentBlock("thumbnail"); $objFieldTpl->setVariable("FIELD_ORIGINAL_VALUE", $strLabel); $objFieldTpl->setVariable("FIELD_VALUE", $strValue); $objFieldTpl->parseCurrentBlock(); } $objFieldTpl->setCurrentBlock("field.{$objType->getInput()}.edit"); $objFieldTpl->setVariable("FIELD_FILE_ID", "efv_{$objField->getId()}"); $objFieldTpl->setVariable("FIELD_ORIGINAL_VALUE", $strLabel); $objFieldTpl->setVariable("FIELD_VALUE", $strValue); $objFieldTpl->parseCurrentBlock(); $intFileCount++; } } } //*** Parse the rest of the block. $objFieldTpl->setCurrentBlock("field.file.select-type.library"); $objFieldTpl->setVariable("LABEL_LIBRARY", $objLang->get("pcmsInlineStorage", "menu")); $objFieldTpl->setVariable("FIELD_ID", "efv_{$objField->getId()}"); $objFieldTpl->parseCurrentBlock(); $objFieldTpl->setCurrentBlock("field.file.select-type.upload"); $objFieldTpl->setVariable("FIELD_ID", "efv_{$objField->getId()}"); $objFieldTpl->parseCurrentBlock(); $objFieldTpl->setCurrentBlock("field.file"); $objFieldTpl->setVariable("FIELD_ID", "efv_{$objField->getId()}"); if ($objField->getRequired()) { $objFieldTpl->setVariable("FIELD_REQUIRED", "* "); } $objFieldTpl->setVariable("FIELD_NAME", html_entity_decode($objField->getName())); $objFieldTpl->setVariable("FIELD_BROWSE_NAME", $objLang->get("browseImage", "label")); //$objFieldTpl->setVariable("FIELD_ALT_NAME", $objLang->get("altImage", "label")); $objFieldTpl->setVariable("FIELD_CURRENT_FILES", $intFileCount); $objFieldTpl->setVariable("FIELD_MAX_FILES", $intMaxFileCount); $objFieldTpl->setVariable("FIELD_THUMB_PATH", $strThumbPath); $objFieldTpl->setVariable("FIELD_UPLOAD_PATH", $strUploadPath); $objFieldTpl->setVariable("FIELD_MAX_CHAR", 60); $objFieldTpl->setVariable("STORAGE_ITEMS", StorageItems::getFolderListHTML()); $objFieldTpl->setVariable("LABEL_CHOOSE_FOLDER", $objLang->get("chooseFolder", "label")); $objFieldTpl->setVariable("FIELD_HEADER_CURRENT", $strCurrentTitle); $objFieldTpl->setVariable("FIELD_HEADER_NEW", $strNewTitle); $objFieldTpl->setVariable("FIELD_LABEL_REMOVE", $objLang->get("delete", "button")); $objFieldTpl->setVariable("FIELD_LABEL_CANCEL", strtolower($objLang->get("cancel", "button"))); $objFieldTpl->setVariable("FIELD_LABEL_ALT", $objLang->get("alttag", "button")); if (!empty($strDescription)) { $objFieldTpl->setVariable("FIELD_DESCRIPTION", $objField->getDescription()); } if (is_object($objElementField)) { $objFieldTpl->setVariable("FIELD_CASCADES", implode(",", $objElementField->getCascades())); } if ($objField->getTypeId() == FIELD_TYPE_FILE) { $objValue = $objField->getValueByName("tfv_file_extension"); $strExtensions = is_object($objValue) ? $objValue->getValue() : ""; if (!empty($strExtensions)) { $strExtensions = str_replace("%s", Setting::getValueByName('file_upload_extensions'), $strExtensions); } else { $strExtensions = strtolower(Setting::getValueByName('file_upload_extensions')); } } else { $strExtensions = strtolower(Setting::getValueByName('image_upload_extensions')); } $objFieldTpl->setVariable("FIELD_FILE_TYPE", "*" . implode("; *", explode(" ", $strExtensions))); $objFieldTpl->parseCurrentBlock(); break; case FIELD_TYPE_SMALLTEXT: case FIELD_TYPE_NUMBER: case FIELD_TYPE_LINK: $objFieldTpl->addBlockfile('ELEMENT_FIELD', 'field.text', 'elementfield_text.tpl.htm'); foreach ($objContentLangs as $objContentLanguage) { $objFieldTpl->setCurrentBlock("field.text.value"); $objFieldTpl->setVariable("FIELD_LANGUAGE_ID", "efv_{$objField->getId()}_{$objContentLanguage->getId()}"); if (is_object($objElement)) { $strValue = htmlspecialchars($objElement->getValueByTemplateField($objField->getId(), $objContentLanguage->getId())); } else { $strValue = ""; } $objFieldTpl->setVariable("FIELD_LANGUAGE_VALUE", $strValue); $objFieldTpl->parseCurrentBlock(); if ($objField->getTypeId() == FIELD_TYPE_LINK) { $objFieldTpl->setCurrentBlock("field.text.elementvalue"); $objFieldTpl->setVariable("FIELD_ELEMENT_ID", "efv_{$objField->getId()}_{$objContentLanguage->getId()}"); $objFieldTpl->setVariable("ELEMENT_FIELD_ID", "efv_{$objField->getId()}"); $objFieldTpl->setVariable("FIELD_CLASS", "deeplink"); $elementTrail = Element::generateElementTrailString($strValue); $objFieldTpl->setVariable("FIELD_ELEMENT_VALUE", htmlentities($elementTrail)); $objFieldTpl->parseCurrentBlock(); } } $objFieldTpl->setCurrentBlock("field.text"); $objFieldTpl->setVariable("FIELD_ID", "efv_{$objField->getId()}"); if ($objField->getRequired()) { $objFieldTpl->setVariable("FIELD_REQUIRED", "* "); } $objFieldTpl->setVariable("FIELD_NAME", html_entity_decode($objField->getName())); if (!empty($strDescription)) { $objFieldTpl->setVariable("FIELD_DESCRIPTION", $objField->getDescription()); } if (is_object($objElement)) { $objElementField = $objElement->getFieldByTemplateField($objField->getId()); if (is_object($objElementField)) { $objFieldTpl->setVariable("FIELD_CASCADES", implode(",", $objElementField->getCascades())); } } $objFieldTpl->parseCurrentBlock(); break; case FIELD_TYPE_MOVABLECANVAS_COORDINATES: $objFieldTpl->addBlockfile('ELEMENT_FIELD', 'field.mccoordinates', 'elementfield_mccoordinates.tpl.htm'); foreach ($objContentLangs as $objContentLanguage) { $objFieldTpl->setCurrentBlock("field.mccoordinates.value"); $objFieldTpl->setVariable("FIELD_LANGUAGE_ID", "efv_{$objField->getId()}_{$objContentLanguage->getId()}"); if (is_object($objElement)) { $strValue = htmlspecialchars($objElement->getValueByTemplateField($objField->getId(), $objContentLanguage->getId())); } else { $strValue = ""; } $objFieldTpl->setVariable("FIELD_LANGUAGE_VALUE", $strValue); $objFieldTpl->parseCurrentBlock(); } $objFieldTpl->setCurrentBlock("field.mccoordinates"); $objFieldTpl->setVariable("FIELD_ID", "efv_{$objField->getId()}"); if ($objField->getRequired()) { $objFieldTpl->setVariable("FIELD_REQUIRED", "* "); } $objFieldTpl->setVariable("FIELD_NAME", html_entity_decode($objField->getName())); if (!empty($strDescription)) { $objFieldTpl->setVariable("FIELD_DESCRIPTION", $objField->getDescription()); } $objFieldTpl->setVariable("MC-API-ID", $objField->getValueByName("tfv_field_api_key")->getValue()); $objFieldTpl->setVariable("MC-MAP-ID", $objField->getValueByName("tfv_field_map_key")->getValue()); if (is_object($objElement)) { $objElementField = $objElement->getFieldByTemplateField($objField->getId()); if (is_object($objElementField)) { $objFieldTpl->setVariable("FIELD_CASCADES", implode(",", $objElementField->getCascades())); } } $objFieldTpl->parseCurrentBlock(); break; case FIELD_TYPE_SIMPLETEXT: $objFieldTpl->addBlockfile('ELEMENT_FIELD', 'field.simpletext', 'elementfield_simpletext.tpl.htm'); foreach ($objContentLangs as $objContentLanguage) { $objFieldTpl->setCurrentBlock("field.simpletext.value"); $objFieldTpl->setVariable("FIELD_LANGUAGE_ID", "efv_{$objField->getId()}_{$objContentLanguage->getId()}"); if (is_object($objElement)) { $strValue = htmlspecialchars($objElement->getValueByTemplateField($objField->getId(), $objContentLanguage->getId())); } else { $strValue = ""; } $objFieldTpl->setVariable("FIELD_LANGUAGE_VALUE", $strValue); $objFieldTpl->parseCurrentBlock(); } //*** Calculate and set the textarea height. $minHeight = 115; $maxHeight = 400; $intHeight = $minHeight; $objValue = $objField->getValueByName("tfv_field_max_characters"); $strMaxChar = is_object($objValue) ? $objValue->getValue() : ""; if (!empty($strMaxChar) && is_numeric($strMaxChar)) { $intHeight = ($strMaxChar - 500) * 0.05 + $minHeight; if ($intHeight < $minHeight) { $intHeight = $minHeight; } if ($intHeight > $maxHeight) { $intHeight = $maxHeight; } } $objFieldTpl->setCurrentBlock("field.simpletext"); $objFieldTpl->setVariable("FIELD_ID", "efv_{$objField->getId()}"); $objFieldTpl->setVariable("FIELD_HEIGHT", "{$intHeight}px"); if ($objField->getRequired()) { $objFieldTpl->setVariable("FIELD_REQUIRED", "* "); } $objFieldTpl->setVariable("FIELD_NAME", html_entity_decode($objField->getName())); if (!empty($strDescription)) { $objFieldTpl->setVariable("FIELD_DESCRIPTION", $objField->getDescription()); } if (is_object($objElement)) { $objElementField = $objElement->getFieldByTemplateField($objField->getId()); if (is_object($objElementField)) { $objFieldTpl->setVariable("FIELD_CASCADES", implode(",", $objElementField->getCascades())); } } $objFieldTpl->parseCurrentBlock(); break; case FIELD_TYPE_USER: $strFieldClass = "select-one"; $objFieldTpl->addBlockfile('ELEMENT_FIELD', 'field.select', 'elementfield_selectlist.tpl.htm'); foreach ($objContentLangs as $objContentLanguage) { $objFieldTpl->setCurrentBlock("field.select.value"); $objFieldTpl->setVariable("FIELD_LANGUAGE_ID", "efv_{$objField->getId()}_{$objContentLanguage->getId()}"); //*** Determine the selected value for the list. if (is_object($objElement)) { $strValue = $objElement->getValueByTemplateField($objField->getId(), $objContentLanguage->getId()); } else { $strValue = ""; } $objFieldTpl->setVariable("FIELD_LANGUAGE_VALUE", $strValue); $objFieldTpl->parseCurrentBlock(); } //*** Render options for the list. global $objLiveAdmin; $filters = array('container' => 'auth', 'filters' => array('account_id' => array($_CONF['app']['account']->getId()))); $objUsers = $objLiveAdmin->getUsers($filters); if (is_array($objUsers)) { foreach ($objUsers as $objUser) { $objFieldTpl->setCurrentBlock("field.select.option"); $objFieldTpl->setVariable("FIELD_VALUE", $objUser["perm_user_id"]); $objFieldTpl->setVariable("FIELD_TEXT", xhtmlsave($objUser["handle"])); $objFieldTpl->parseCurrentBlock(); } } $objFieldTpl->setCurrentBlock("field.select"); $objFieldTpl->setVariable("FIELD_SELECT_SIZE", 1); $objFieldTpl->setVariable("FIELD_CLASS", $strFieldClass); $objFieldTpl->setVariable("FIELD_MULTIPLE", ""); $objFieldTpl->setVariable("FIELD_ID", "efv_{$objField->getId()}"); if ($objField->getRequired()) { $objFieldTpl->setVariable("FIELD_REQUIRED", "* "); } $objFieldTpl->setVariable("FIELD_NAME", html_entity_decode($objField->getName())); if (!empty($strDescription)) { $objFieldTpl->setVariable("FIELD_DESCRIPTION", $objField->getDescription()); } if (is_object($objElement)) { $objElementField = $objElement->getFieldByTemplateField($objField->getId()); if (is_object($objElementField)) { $objFieldTpl->setVariable("FIELD_CASCADES", implode(",", $objElementField->getCascades())); } } $objFieldTpl->parseCurrentBlock(); break; case FIELD_TYPE_BOOLEAN: $objDefaultValue = $objField->getValueByName("tfv_boolean_default"); $strTemplValue = is_object($objDefaultValue) ? $objDefaultValue->getValue() : ""; $objFieldTpl->addBlockfile('ELEMENT_FIELD', 'field.checkbox', 'elementfield_checkbox.tpl.htm'); foreach ($objContentLangs as $objContentLanguage) { $objFieldTpl->setCurrentBlock("field.checkbox.value"); $objFieldTpl->setVariable("FIELD_LANGUAGE_ID", "efv_{$objField->getId()}_{$objContentLanguage->getId()}"); if (is_object($objElement)) { $strValue = $objElement->getValueByTemplateField($objField->getId(), $objContentLanguage->getId()); } else { $strValue = NULL; } if (!empty($strValue) || !is_null($strValue)) { //*** Do Nothing. } elseif (!empty($strTemplValue)) { $strValue = $strTemplValue; } $objFieldTpl->setVariable("FIELD_LANGUAGE_VALUE", $strValue); $objFieldTpl->parseCurrentBlock(); } $objFieldTpl->setCurrentBlock("field.checkbox"); $objFieldTpl->setVariable("FIELD_ID", "efv_{$objField->getId()}"); if ($objField->getRequired()) { $objFieldTpl->setVariable("FIELD_REQUIRED", "* "); } $objFieldTpl->setVariable("FIELD_NAME", html_entity_decode($objField->getName())); $objFieldTpl->setVariable("FIELD_VALUE", $strValue); if (!empty($strDescription)) { $objFieldTpl->setVariable("FIELD_DESCRIPTION", $objField->getDescription()); } if (is_object($objElement)) { $objElementField = $objElement->getFieldByTemplateField($objField->getId()); if (is_object($objElementField)) { $objFieldTpl->setVariable("FIELD_CASCADES", implode(",", $objElementField->getCascades())); } } $objFieldTpl->parseCurrentBlock(); break; } $strFields .= $objFieldTpl->get(); } } if (!empty($strFields)) { $objTpl->setVariable("ELEMENT_FIELDS", $strFields); } if (!$blnIsDynamic) { $objTpl->setVariable("LABEL_LANGUAGE", $objLang->get("language", "form")); $objTpl->setVariable("ACTIVE_LANGUAGE", $intDefaultLanguage); $objTpl->setVariable("DEFAULT_LANGUAGE", $intDefaultLanguage); } else { $objTpl->setCurrentBlock("feedlanguage"); $objTpl->setVariable("LABEL_LANGUAGE", $objLang->get("language", "form")); $objTpl->setVariable("ACTIVE_LANGUAGE", $intDefaultLanguage); $objTpl->setVariable("DEFAULT_LANGUAGE", $intDefaultLanguage); $objTpl->parseCurrentBlock(); } //*** Meta tab. if (is_object($objElement) && $objElement->isPage()) { $objTpl->setCurrentBlock("meta-title"); $objTpl->setVariable("HEADER", $objLang->get("meta", "label")); $objTpl->parseCurrentBlock(); $objTpl->setCurrentBlock("description-meta"); $objTpl->setVariable("LABEL", $objLang->get("metaInfo", "form")); $objTpl->parseCurrentBlock(); //*** Meta specific labels $objTpl->setVariable("LABEL_META_ALIAS", $objLang->get("alias", "form")); $objTpl->setVariable("LABEL_META_TITLE", $objLang->get("metaTitle", "label")); $objTpl->setVariable("LABEL_META_KEYWORDS", $objLang->get("metaKeywords", "label")); $objTpl->setVariable("LABEL_META_DESCRIPTION", $objLang->get("metaDescription", "label")); $objTpl->setVariable("META_KEYWORDS_NOTE", $objLang->get("metaKeywords", "tip")); $objTpl->setVariable("META_DESCRIPTION_NOTE", $objLang->get("metaDescription", "tip")); $objTpl->setVariable("META_ALIAS_NOTE", $objLang->get("alias", "tip")); $objTpl->setVariable("ACTIVE_META_LANGUAGE", $intSelectLanguage); $objTpl->setVariable("DEFAULT_META_LANGUAGE", $intDefaultLanguage); $objTpl->setVariable("LABEL_META_LANGUAGE", $objLang->get("language", "form")); //*** Meta languages $objContentLangs = ContentLanguage::select(); foreach ($objContentLangs as $objContentLanguage) { $objTpl->setCurrentBlock("list_meta-language"); $objTpl->setVariable("LANGUAGELIST_VALUE", $objContentLanguage->getId()); if ($intDefaultLanguage == $objContentLanguage->getId()) { $objTpl->setVariable("LANGUAGELIST_TEXT", $objContentLanguage->getName() . " (" . $objLang->get("default", "label") . ")"); } else { $objTpl->setVariable("LANGUAGELIST_TEXT", $objContentLanguage->getName()); } if ($intSelectLanguage == $objContentLanguage->getId()) { $objTpl->setVariable("LANGUAGELIST_SELECTED", " selected=\"selected\""); } $objTpl->parseCurrentBlock(); } //*** Meta language values. foreach ($objContentLangs as $objContentLanguage) { $strValue = $strCommand != CMD_ADD ? $objElement->getAlias($objContentLanguage->getId()) : ''; $objTpl->setCurrentBlock("field.meta_alias.value"); $objTpl->setVariable("FIELD_ALIAS_ID", "frm_meta_alias_{$objContentLanguage->getId()}"); $objTpl->setVariable("FIELD_ALIAS_VALUE", $strValue); $objTpl->parseCurrentBlock(); $objMeta = is_object($objElement) && $strCommand != CMD_ADD ? $objElement->getMeta($objContentLanguage->getId()) : NULL; $strValue = is_object($objMeta) ? $objMeta->getValueByValue("name", "title") : ""; $objTpl->setCurrentBlock("field.meta_title.value"); $objTpl->setVariable("FIELD_LANGUAGE_ID", "frm_meta_title_{$objContentLanguage->getId()}"); $objTpl->setVariable("FIELD_LANGUAGE_VALUE", $strValue); $objTpl->parseCurrentBlock(); $strValue = is_object($objMeta) ? $objMeta->getValueByValue("name", "keywords") : ""; $objTpl->setCurrentBlock("field.meta_keywords.value"); $objTpl->setVariable("FIELD_LANGUAGE_ID", "frm_meta_keywords_{$objContentLanguage->getId()}"); $objTpl->setVariable("FIELD_LANGUAGE_VALUE", $strValue); $objTpl->parseCurrentBlock(); $strValue = is_object($objMeta) ? $objMeta->getValueByValue("name", "description") : ""; $objTpl->setCurrentBlock("field.meta_description.value"); $objTpl->setVariable("FIELD_LANGUAGE_ID", "frm_meta_description_{$objContentLanguage->getId()}"); $objTpl->setVariable("FIELD_LANGUAGE_VALUE", $strValue); $objTpl->parseCurrentBlock(); } //*** Meta language cascades. if ($strCommand != CMD_ADD) { $objTpl->setVariable("META_ALIAS_CASCADES", implode(",", Alias::getCascades($objElement->getId()))); $objTpl->setVariable("META_TITLE_CASCADES", implode(",", ElementMeta::getCascades($objElement->getId(), "title"))); $objTpl->setVariable("META_KEYWORDS_CASCADES", implode(",", ElementMeta::getCascades($objElement->getId(), "keywords"))); $objTpl->setVariable("META_DESCRIPTION_CASCADES", implode(",", ElementMeta::getCascades($objElement->getId(), "description"))); } } } //*** Feeds if dynamic. if ($blnIsDynamic) { if ($strCommand == CMD_EDIT) { $objElementFeed = $objElement->getFeed(); $objFeed = Feed::selectByPK($objElementFeed->getFeedId()); $objFeeds = new DBA__Collection(); $objFeeds->addObject($objFeed); $objParent = Element::selectByPK($objElement->getParentId()); } else { $objFeeds = Feed::select(); $objParent = Element::selectByPK($intElmntId); } if (isset($objParent) && $objParent->getTypeId() == ELM_TYPE_DYNAMIC) { $objNodes = $objParent->getFeed()->getStructuredNodes(); $objTpl->setCurrentBlock("list_feedpath"); $objTpl->setVariable("VALUE", ""); $objTpl->setVariable("TEXT", "Basepath"); $objTpl->parseCurrentBlock(); $objTpl->setCurrentBlock("list_feedpath"); $objTpl->setVariable("VALUE", ""); $objTpl->setVariable("TEXT", "-------------"); $objTpl->parseCurrentBlock(); if (count($objNodes) > 0) { foreach ($objNodes as $objSubElement) { $objTpl->setCurrentBlock("list_feedpath"); $objTpl->setVariable("VALUE", $objSubElement->getName()); $objTpl->setVariable("TEXT", $objSubElement->getName()); $objTpl->parseCurrentBlock(); } } } else { if (is_object($objFeeds)) { foreach ($objFeeds as $objFeed) { $objTpl->setCurrentBlock("list_feed"); $objTpl->setVariable("FEEDLIST_VALUE", $objFeed->getId()); $objTpl->setVariable("FEEDLIST_TEXT", $objFeed->getName()); $objTpl->parseCurrentBlock(); } } } if ($strCommand == CMD_EDIT) { $blnDynamicAlias = false; $objFeedFields = $objElementFeed->getStructuredNodes(); foreach ($objFeedFields as $objFeedField) { $objTpl->setCurrentBlock("list_feed_field"); $objTpl->setVariable("FEEDLIST_VALUE", $objFeedField->getName()); $objTpl->setVariable("FEEDLIST_TEXT", $objFeedField->getName()); if ($objElementFeed->getAliasField() == $objFeedField->getName()) { $objTpl->setVariable("FEEDLIST_SELECTED", "selected=\"selected\""); $blnDynamicAlias = true; } $objTpl->parseCurrentBlock(); } if ($blnDynamicAlias) { $objTpl->setVariable("FORM_DYNAMIC_ALIAS_VALUE", "checked=\"checked\""); } $objTpl->setVariable("FORM_MAXITEMS_VALUE", $objElementFeed->getMaxItems()); //*** Template fields. foreach ($objFields as $objField) { foreach ($objContentLangs as $objContentLanguage) { $objTpl->setCurrentBlock("feed.field.value"); $objTpl->setVariable("FIELD_LANGUAGE_ID", "tpf_{$objField->getId()}_{$objContentLanguage->getId()}"); if (is_object($objElement)) { $strValue = htmlspecialchars($objElement->getFeedValueByTemplateField($objField->getId(), $objContentLanguage->getId())); } else { $strValue = ""; } $objTpl->setVariable("FIELD_LANGUAGE_VALUE", $strValue); $objTpl->parseCurrentBlock(); } $objTpl->setCurrentBlock("feed.field"); $objTpl->setVariable("FIELD_ID", "tpf_{$objField->getId()}"); $objTpl->setVariable("FIELD_NAME", html_entity_decode($objField->getName())); if (is_object($objElement)) { $objFeedField = $objElement->getFeedFieldByTemplateField($objField->getId()); if (is_object($objFeedField)) { $objTpl->setVariable("FIELD_CASCADES", implode(",", $objFeedField->getCascades())); } } $objTpl->parseCurrentBlock(); } //*** Feed fields. $objFeedFields = $objElementFeed->getStructuredNodes(); $strFields = renderRecursiveFeedFields($objFeedFields); $objTpl->setCurrentBlock("feed.tag"); $objTpl->setVariable("FEEDFIELDS", $strFields); $objTpl->parseCurrentBlock(); } } } //*** Render the element form. $objTpl->setCurrentBlock("description-details"); $objTpl->setVariable("LABEL", $objLang->get("requiredFields", "form")); $objTpl->parseCurrentBlock(); $objTpl->setVariable("LABEL_ACTIVE", $objLang->get("active", "form")); $objTpl->setVariable("LABEL_NAME", $objLang->get("name", "form")); $objTpl->setVariable("LABEL_NOTES", $objLang->get("notes", "form")); //$objTpl->setVariable("LABEL_ALIAS", $objLang->get("alias", "form")); $objTpl->setVariable("APINAME_NOTE", $objLang->get("apiNameNote", "tip")); //$objTpl->setVariable("ALIAS_NOTE", $objLang->get("alias", "tip")); $objTpl->setVariable("LABEL_SAVE", $objLang->get("save", "button")); if (isset($objElement) && $objElement->getTypeId() == ELM_TYPE_LOCKED) { $objTpl->setVariable("DISABLED_SAVE", "disabled=\"disabled\""); } if ($blnIsFolder) { $objTpl->setVariable("LABEL_ELEMENTNAME", $objLang->get("folderName", "form")); $objTpl->setVariable("LABEL_ISPAGE", $objLang->get("pageContainer", "form")); if ($blnError === false && is_object($objElement)) { $objTpl->setVariable("FORM_ISPAGE_VALUE", $objElement->getIsPage() ? "checked=\"checked\"" : ""); } } else { $objTpl->setVariable("LABEL_ELEMENTNAME", $objLang->get("elementName", "form")); $objTpl->setVariable("LABEL_TEMPLATENAME", $objLang->get("template", "form")); if ($blnIsDynamic) { if (isset($objParent) && $objParent->getTypeId() == ELM_TYPE_DYNAMIC) { $objTpl->setVariable("LABEL_FEEDPATH", $objLang->get("basepath", "form")); } else { $objTpl->setVariable("LABEL_FEEDNAME", $objLang->get("feed", "form")); } $objTpl->setVariable("LABEL_MAXITEMS", $objLang->get("maxItems", "form")); } } //*** Predefine schedule variables. $intStartHour = 8; $intStartMinute = 0; $intEndHour = 17; $intEndMinute = 0; //*** Insert values if action is edit. if ($strCommand == CMD_EDIT) { if ($blnError === false) { $objTpl->setVariable("FORM_ACTIVE_VALUE", $objElement->getActive() ? "checked=\"checked\"" : ""); $objTpl->setVariable("FORM_NAME_VALUE", str_replace("\"", """, $objElement->getName())); $objTpl->setVariable("FORM_APINAME_VALUE", $objElement->getApiname()); //$objTpl->setVariable("FORM_ALIAS_VALUE", $objElement->getAlias()); $objTpl->setVariable("FORM_NOTES_VALUE", $objElement->getDescription()); } $objTpl->setVariable("BUTTON_CANCEL_HREF", "?cid=" . NAV_PCMS_ELEMENTS . "&eid={$objElement->getParentId()}&cmd=" . CMD_LIST); $objTpl->setVariable("BUTTON_FORMCANCEL_HREF", "?cid=" . NAV_PCMS_ELEMENTS . "&eid={$objElement->getParentId()}&cmd=" . CMD_LIST); if (!$blnIsFolder && $objElement->getTypeId() != ELM_TYPE_DYNAMIC) { $objTpl->setVariable("ACTIVES_LANGUAGE", implode(",", $objElement->getLanguageActives())); } //*** Publish specific values. $objSchedule = $objElement->getSchedule(); if ($objSchedule->getStartActive()) { $strValue = Date::fromMysql("%d %B %Y", $objSchedule->getStartDate()); $objTpl->setVariable("START_DATE_DISPLAY", empty($strValue) ? " " : $strValue); $objTpl->setVariable("START_DATE_VALUE", Date::fromMysql($_CONF['app']['universalDate'], $objSchedule->getStartDate())); $strValue = Date::fromMysql("%H", $objSchedule->getStartDate()); if (!empty($strValue)) { $intStartHour = $strValue; } $strValue = Date::fromMysql("%M", $objSchedule->getStartDate()); if (!empty($strValue)) { $intStartMinute = $strValue; } $objTpl->setVariable("START_DATE_ACTIVE", "checked=\"checked\""); } else { $objTpl->setVariable("START_DATE_DISPLAY", " "); } if ($objSchedule->getEndActive()) { $strValue = Date::fromMysql("%d %B %Y", $objSchedule->getEndDate()); $objTpl->setVariable("END_DATE_DISPLAY", empty($strValue) ? " " : $strValue); $objTpl->setVariable("END_DATE_VALUE", Date::fromMysql($_CONF['app']['universalDate'], $objSchedule->getEndDate())); $strValue = Date::fromMysql("%H", $objSchedule->getEndDate()); if (!empty($strValue)) { $intEndHour = $strValue; } $strValue = Date::fromMysql("%M", $objSchedule->getEndDate()); if (!empty($strValue)) { $intEndMinute = $strValue; } $objTpl->setVariable("END_DATE_ACTIVE", "checked=\"checked\""); } else { $objTpl->setVariable("END_DATE_DISPLAY", " "); } } else { if ($blnError === false) { if (Setting::getValueByName('elmnt_active_state') == 1) { $objTpl->setVariable("FORM_ACTIVE_VALUE", "checked=\"checked\""); } } $objTpl->setVariable("BUTTON_CANCEL_HREF", "?cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}&cmd=" . CMD_LIST); $objTpl->setVariable("BUTTON_FORMCANCEL_HREF", "?cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}&cmd=" . CMD_LIST); //*** Publish specific values. $objTpl->setVariable("START_DATE_DISPLAY", " "); $objTpl->setVariable("END_DATE_DISPLAY", " "); } //*** Render tabs. if (is_object($objTemplates) && ($objTemplates->count() == 1 || $strCommand == CMD_EDIT)) { if (!$blnIsFolder) { //*** Fields tab. $objTpl->setCurrentBlock("field-title"); $objTpl->setVariable("HEADER", $objLang->get("fields", "label")); $objTpl->parseCurrentBlock(); $objTpl->setCurrentBlock("description-fields"); $objTpl->setVariable("LABEL", $objLang->get("requiredFields", "form")); $objTpl->parseCurrentBlock(); //*** Set all language as active by default for a new element if ($strCommand == CMD_ADD) { $objContentLangs = ContentLanguage::select(); $aActiveLanguages = array(); foreach ($objContentLangs as $objContentLang) { $aActiveLanguages[] = $objContentLang->getId(); } $objTpl->setVariable("ACTIVES_LANGUAGE", implode(",", $aActiveLanguages)); } } //*** Permissions tab. // $objTpl->setCurrentBlock("permission-title"); // $objTpl->setVariable("HEADER", $objLang->get("permissions", "label")); // $objTpl->parseCurrentBlock(); // $objTpl->setCurrentBlock("description-permission"); // $objTpl->setVariable("LABEL", $objLang->get("permissionInfo", "form")); // $objTpl->parseCurrentBlock(); } //*** Publish tab. $objTpl->setCurrentBlock("publish-title"); $objTpl->setVariable("HEADER", $objLang->get("publish", "label")); $objTpl->parseCurrentBlock(); $objTpl->setCurrentBlock("description-publish"); $objTpl->setVariable("LABEL", $objLang->get("publishInfo", "form")); $objTpl->parseCurrentBlock(); //*** Publish specific labels $objTpl->setVariable("LABEL_START_DATE", $objLang->get("startDate", "label")); $objTpl->setVariable("LABEL_END_DATE", $objLang->get("endDate", "label")); $objTpl->setVariable("LABEL_DATE", $objLang->get("date", "label")); $objTpl->setVariable("LABEL_TIME", $objLang->get("time", "label")); foreach (range(0, 23) as $hour) { $objTpl->setCurrentBlock("date.start.hour"); $objTpl->setVariable("VALUE", $hour); $objTpl->setVariable("LABEL", str_pad($hour, 2, 0, STR_PAD_LEFT)); if (trim($intStartHour) == $hour) { $objTpl->setVariable("SELECTED", "selected=\"selected\""); } $objTpl->parseCurrentBlock(); } foreach (range(0, 45, 15) as $minute) { $objTpl->setCurrentBlock("date.start.minute"); $objTpl->setVariable("VALUE", $minute); $objTpl->setVariable("LABEL", str_pad($minute, 2, 0, STR_PAD_LEFT)); if (trim($intStartMinute) == $minute) { $objTpl->setVariable("SELECTED", "selected=\"selected\""); } $objTpl->parseCurrentBlock(); } foreach (range(0, 23) as $hour) { $objTpl->setCurrentBlock("date.end.hour"); $objTpl->setVariable("VALUE", $hour); $objTpl->setVariable("LABEL", str_pad($hour, 2, 0, STR_PAD_LEFT)); if (trim($intEndHour) == $hour) { $objTpl->setVariable("SELECTED", "selected=\"selected\""); } $objTpl->parseCurrentBlock(); } foreach (range(0, 45, 15) as $minute) { $objTpl->setCurrentBlock("date.end.minute"); $objTpl->setVariable("VALUE", $minute); $objTpl->setVariable("LABEL", str_pad($minute, 2, 0, STR_PAD_LEFT)); if (trim($intEndMinute) == $minute) { $objTpl->setVariable("SELECTED", "selected=\"selected\""); } $objTpl->parseCurrentBlock(); } $objTpl->setVariable("LANG", strtolower($objLang->get("abbr"))); //*** Render the element form. $objTpl->setVariable("BUTTON_CANCEL", $objLang->get("back", "button")); $objTpl->setVariable("BUTTON_FORMCANCEL", $objLang->get("cancel", "button")); $objTpl->setVariable("CID", NAV_PCMS_ELEMENTS); $objTpl->setVariable("CMD", $strCommand); $objTpl->setVariable("EID", $intElmntId); break; case CMD_EXPORT_ELEMENT: $objTpl->loadTemplatefile("export.tpl.htm"); $arrElementIds = NULL; // export via selection of (multiple) elements if (isset($_GET['sel'])) { $arrElementIds = explode(',', $intElmntId); $objChild = Element::selectByPK($arrElementIds[0]); $objElement = Element::selectByPK($objChild->getParentId()); } else { $objElement = Element::selectByPK($intElmntId); } //*** Set section title. $objTpl->setVariable("MAINTITLE", $objLang->get("export", "label")); //*** Set tab title. $objTpl->setCurrentBlock("headertitel_simple"); $objTpl->setVariable("HEADER_TITLE", $objLang->get("exportOptions", "label")); $objTpl->parseCurrentBlock(); $objTpl->setVariable("FORM_NAME", "exportForm"); //*** Handle request & create export if ($_SERVER['REQUEST_METHOD'] == 'POST') { $arrElementFilters = array(); $arrTemplateFilters = array(); foreach ($_POST['elem'] as $id => $val) { $arrElementFilters[] = intval($id); $objTmpElement = Element::selectByPK(intval($id)); if (!in_array($objTmpElement->getTemplateId(), $arrTemplateFilters)) { $arrTemplateFilters[] = $objTmpElement->getTemplateId(); } } if ($_POST['sel'] == 1) { $includeSelf = false; $arrElementIds = explode(',', $intElmntId); $objChild = Element::selectByPK($arrElementIds[0]); $objElement = Element::selectByPK($objChild->getParentId()); } else { $includeSelf = true; $objElement = Element::selectByPK($intElmntId); } $strZipFile = ImpEx::exportFrom($objElement->getId(), $objElement->getTemplateId(), $arrElementFilters, $arrTemplateFilters, $_CONF['app']['account']->getId(), true, true, $includeSelf); //*** Return XML. header("HTTP/1.1 200 OK"); header("Pragma: public"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private", false); header('Content-Type: application/octetstream; charset=utf-8'); header("Content-Length: " . (string) filesize($strZipFile)); header('Content-Disposition: attachment; filename="' . date("Y-m-d") . '_exportElements.zip"'); header("Content-Transfer-Encoding: binary\n"); readfile($strZipFile); unlink($strZipFile); exit; } //*** Create element checkboxes $objTpl->setVariable("SELECT_ITEMS", $objLang->get("selectElements", "label")); $objTpl->setVariable("FORM_CHECKBOXES", createElementTree($objElement, isset($_GET['sel']), $arrElementIds)); //*** Set form buttons $objTpl->setVariable("BUTTON_FORMCANCEL_HREF", "?cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}&cmd=" . CMD_LIST); $objTpl->setCurrentBlock("singleview"); $objTpl->setVariable("BUTTON_CANCEL", $objLang->get("back", "button")); $objTpl->setVariable("BUTTON_FORMCANCEL", $objLang->get("cancel", "button")); $objTpl->setVariable("LABEL_SAVE", $objLang->get("export", "button")); $objTpl->setVariable("CID", NAV_PCMS_ELEMENTS); $objTpl->setVariable("CMD", CMD_EXPORT_ELEMENT); $objTpl->setVariable("EID", $intElmntId); $objTpl->setVariable("SEL", isset($_GET['sel']) ? '1' : '0'); $objTpl->parseCurrentBlock(); break; case CMD_IMPORT_ELEMENT: $objTpl->loadTemplatefile("import.tpl.htm"); //*** Parse the template. $objElement = Element::selectByPK($intElmntId); //*** Set section title. $objTpl->setVariable("MAINTITLE", $objLang->get("import", "label")); //*** Set tab title. $objTpl->setCurrentBlock("headertitel_simple"); $objTpl->setVariable("HEADER_TITLE", $objLang->get("importOptions", "label")); $objTpl->parseCurrentBlock(); //*** Handle request & do import if ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_FILES["file"]["name"])) { if ($_FILES["file"]["error"] > 0) { $objTpl->setVariable('ERROR_MAIN', 'Error: ' . $_FILES["file"]["error"]); } else { if (end(explode(".", $_FILES["file"]["name"])) !== 'zip') { $objTpl->setVariable('ERROR_MAIN', 'Error: Only *.ZIP files allowed'); } else { if (!ImpEx::importIn($_FILES["file"]["tmp_name"], $objElement->getId(), $objElement->getTemplateId(), $_CONF['app']['account']->getId(), false, true, true)) { $objTpl->setVariable('ERROR_MAIN', 'Templates and/or fields of templates in file do not match the destination templates'); } } } } $objTpl->setVariable('CUR_LOCATION', $objElement->getName()); $objTpl->setVariable("IMPORT_FILE", $objLang->get("importFile", "label")); $objTpl->setVariable("IMPORT_FILE_TIP", $objLang->get("importFile", "tip")); //*** Set form buttons $objTpl->setVariable("BUTTON_FORMCANCEL_HREF", "?cid=" . NAV_PCMS_ELEMENTS . "&eid={$intElmntId}&cmd=" . CMD_LIST); $objTpl->setCurrentBlock("singleview"); $objTpl->setVariable("BUTTON_CANCEL", $objLang->get("back", "button")); $objTpl->setVariable("BUTTON_FORMCANCEL", $objLang->get("cancel", "button")); $objTpl->setVariable("LABEL_SAVE", $objLang->get("import", "button")); $objTpl->setVariable("CID", NAV_PCMS_ELEMENTS); $objTpl->setVariable("CMD", CMD_IMPORT_ELEMENT); $objTpl->setVariable("EID", $intElmntId); $objTpl->parseCurrentBlock(); break; } return $objTpl->get(); }
public function __construct() { parent::__construct(); }
<?php /** * Failas naudojamas vartotojo sukurimui */ header('content-type: text/html; charset=utf-8'); include "./classElement.php"; include "./classUser.php"; $element = new Elements(); $dropDown = $element->createDropdownList(); if (isset($_GET['Ivesti']) && $_GET['Ivesti'] == 'Įvesti') { $user = new User(); $validation = 1; if (!$user->validateName($_GET['name'])) { echo "Neteisingai įvestas vardas, galimos tik raidės<br>"; $validation = 0; } if (!$user->validateEmail($_GET['email'])) { echo "Neteisingai įvestas email <br>"; $validation = 0; } if ($validation) { $user->initiate($_GET['name'], $_GET['email'], $_GET['news']); $user->writeToFile("a"); echo "Vartotojas sekmingai įvestas"; } } $userName = $_GET['name']; $email = $_GET['email']; include "inputForm.php"; echo "<a href='index.php'>Grižti</a><br>";
function parseFeeds($intFeedId, $strCommand) { global $_PATHS, $_CLEAN_POST, $_CONF, $objLang, $objLiveUser; $objTpl = new HTML_Template_IT($_PATHS['templates']); $objTpl->loadTemplatefile("feed.tpl.htm"); $blnError = false; switch ($strCommand) { case CMD_LIST: case CMD_ADD: case CMD_EDIT: //*** Post the profile form if submitted. if (count($_CLEAN_POST) > 0 && !empty($_CLEAN_POST['dispatch']) && $_CLEAN_POST['dispatch'] == "editFeed") { //*** The element form has been posted. //*** Check sanitized input. if (is_null($_CLEAN_POST["frm_active"])) { $blnError = true; } if (is_null($_CLEAN_POST["frm_name"])) { $blnError = true; } if (is_null($_CLEAN_POST["frm_feed"])) { $blnError = true; } if (is_null($_CLEAN_POST["frm_basepath"])) { $blnError = true; } if (is_null($_CLEAN_POST["frm_refresh"])) { $blnError = true; } if (is_null($_CLEAN_POST["dispatch"])) { $blnError = true; } if ($blnError === true) { //*** Display global error. $objTpl->setVariable("FORM_ACTIVE_VALUE", $_POST["frm_active"] == "on" ? "checked=\"checked\"" : ""); $objTpl->setVariable("FORM_NAME_VALUE", $_POST["frm_name"]); $objTpl->setVariable("FORM_FEED_VALUE", $_POST["frm_feed"]); $objTpl->setVariable("FORM_BASEPATH_VALUE", $_POST["frm_basepath"]); $objTpl->setVariable("FORM_REFRESH_VALUE", $_POST["frm_refresh"]); $objTpl->setVariable("ERROR_FEED_MAIN", $objLang->get("main", "formerror")); } else { //*** Input is valid. Save the feed. if ($strCommand == CMD_EDIT) { $objFeed = Feed::selectByPK($intFeedId); } else { $objFeed = new Feed(); } $objFeed->setAccountId($_CONF['app']['account']->getId()); $objFeed->setActive($_POST["frm_active"] == "on" ? 1 : 0); $objFeed->setName($_CLEAN_POST["frm_name"]); $objFeed->setFeed($_CLEAN_POST["frm_feed"]); $objFeed->setBasepath($_CLEAN_POST["frm_basepath"]); $objFeed->setRefresh($_CLEAN_POST["frm_refresh"]); $objFeed->setLastUpdate(Date::toMysql()); $objFeed->save(); //*** Cache feed. $objFeed->cache(); header("Location: " . Request::getURI() . "/?cid=" . NAV_PCMS_FEEDS); exit; } } //*** Initiate child element loop. $objFeeds = Feed::selectSorted(); $listCount = 0; $intPosition = request("pos"); $intPosition = !empty($intPosition) && is_numeric($intPosition) ? $intPosition : 0; $intPosition = floor($intPosition / $_SESSION["listCount"]) * $_SESSION["listCount"]; $objFeeds->seek($intPosition); foreach ($objFeeds as $objFeed) { $objTpl->setCurrentBlock("multiview-item"); $objTpl->setVariable("MULTIITEM_VALUE", $objFeed->getId()); $objTpl->setVariable("BUTTON_REMOVE_HREF", "javascript:Feed.remove({$objFeed->getId()});"); $objTpl->setVariable("BUTTON_REMOVE", $objLang->get("delete", "button")); $objTpl->setVariable("MULTIITEM_HREF", "?cid=" . NAV_PCMS_FEEDS . "&eid={$objFeed->getId()}&cmd=" . CMD_EDIT); $objTpl->setVariable("MULTIITEM_TYPE_CLASS", "feed"); $objTpl->setVariable("MULTIITEM_NAME", $objFeed->getName()); $objTpl->setVariable("MULTIITEM_POINTS_TO", $objLang->get("pointsTo", "label")); $objTpl->setVariable("MULTIITEM_FEED", $objFeed->getFeed()); $objTpl->setVariable("MULTIITEM_FEED_HREF", $objFeed->getFeed()); if (!$objFeed->getActive()) { $objTpl->setVariable("MULTIITEM_ACTIVE", " class=\"inactive\""); } $objTpl->parseCurrentBlock(); $listCount++; if ($listCount >= $_SESSION["listCount"]) { break; } } //*** Render page navigation. $pageCount = ceil($objFeeds->count() / $_SESSION["listCount"]); if ($pageCount > 0) { $currentPage = ceil(($intPosition + 1) / $_SESSION["listCount"]); $previousPos = $intPosition - $_SESSION["listCount"] > 0 ? $intPosition - $_SESSION["listCount"] : 0; $nextPos = $intPosition + $_SESSION["listCount"] < $objFeeds->count() ? $intPosition + $_SESSION["listCount"] : $intPosition; $objTpl->setVariable("PAGENAV_PAGE", sprintf($objLang->get("pageNavigation", "label"), $currentPage, $pageCount)); $objTpl->setVariable("PAGENAV_PREVIOUS", $objLang->get("previous", "button")); $objTpl->setVariable("PAGENAV_PREVIOUS_HREF", "?cid=" . NAV_PCMS_FEEDS . "&pos={$previousPos}"); $objTpl->setVariable("PAGENAV_NEXT", $objLang->get("next", "button")); $objTpl->setVariable("PAGENAV_NEXT_HREF", "?cid=" . NAV_PCMS_FEEDS . "&pos={$nextPos}"); //*** Top page navigation. for ($intCount = 0; $intCount < $pageCount; $intCount++) { $objTpl->setCurrentBlock("multiview-pagenavitem-top"); $position = $intCount * $_SESSION["listCount"]; if ($intCount != $intPosition / $_SESSION["listCount"]) { $objTpl->setVariable("PAGENAV_HREF", "href=\"?cid=" . NAV_PCMS_FEEDS . "&pos={$position}\""); } $objTpl->setVariable("PAGENAV_VALUE", $intCount + 1); $objTpl->parseCurrentBlock(); } //*** Bottom page navigation. for ($intCount = 0; $intCount < $pageCount; $intCount++) { $objTpl->setCurrentBlock("multiview-pagenavitem-bottom"); $position = $intCount * $_SESSION["listCount"]; if ($intCount != $intPosition / $_SESSION["listCount"]) { $objTpl->setVariable("PAGENAV_HREF", "href=\"?cid=" . NAV_PCMS_FEEDS . "&pos={$position}\""); } $objTpl->setVariable("PAGENAV_VALUE", $intCount + 1); $objTpl->parseCurrentBlock(); } } //*** Render list action pulldown. $arrActions[$objLang->get("choose", "button")] = 0; $arrActions[$objLang->get("delete", "button")] = "delete"; foreach ($arrActions as $key => $value) { $objTpl->setCurrentBlock("multiview-listactionitem"); $objTpl->setVariable("LIST_ACTION_TEXT", $key); $objTpl->setVariable("LIST_ACTION_VALUE", $value); $objTpl->parseCurrentBlock(); } $objTpl->setCurrentBlock("multiview"); $objTpl->setVariable("LIST_LENGTH_HREF_10", "href=\"?list=10&cid=" . NAV_PCMS_FEEDS . "\""); $objTpl->setVariable("LIST_LENGTH_HREF_25", "href=\"?list=25&cid=" . NAV_PCMS_FEEDS . "\""); $objTpl->setVariable("LIST_LENGTH_HREF_100", "href=\"?list=100&cid=" . NAV_PCMS_FEEDS . "\""); switch ($_SESSION["listCount"]) { case 10: $objTpl->setVariable("LIST_LENGTH_HREF_10", ""); break; case 25: $objTpl->setVariable("LIST_LENGTH_HREF_25", ""); break; case 100: $objTpl->setVariable("LIST_LENGTH_HREF_100", ""); break; } $objTpl->setVariable("LIST_LENGTH_HREF", "&cid=" . NAV_PCMS_FEEDS); $objTpl->setVariable("LIST_WITH_SELECTED", $objLang->get("withSelected", "label")); $objTpl->setVariable("LIST_ACTION_ONCHANGE", "Feed.multiDo(this, this[this.selectedIndex].value)"); $objTpl->setVariable("LIST_ITEMS_PER_PAGE", $objLang->get("itemsPerPage", "label")); $objTpl->setVariable("BUTTON_LIST_SELECT", $objLang->get("selectAll", "button")); $objTpl->setVariable("BUTTON_LIST_SELECT_HREF", "javascript:Feed.multiSelect()"); $objTpl->parseCurrentBlock(); $objTpl->setVariable("FEEDS", $objLang->get("feeds", "label")); $objTpl->setVariable("BUTTON_ADD", $objLang->get("feedAdd", "button")); //*** Form variables. if ($strCommand == CMD_EDIT) { $objFeed = Feed::selectByPK($intFeedId); $objTpl->setVariable("FORM_ACTIVE_VALUE", $objFeed->getActive() ? "checked=\"checked\"" : ""); $objTpl->setVariable("FORM_NAME_VALUE", $objFeed->getName()); $objTpl->setVariable("FORM_FEED_VALUE", $objFeed->getFeed()); $objTpl->setVariable("FORM_BASEPATH_VALUE", $objFeed->getBasepath()); $objTpl->setVariable("FORM_REFRESH_VALUE", $objFeed->getRefresh()); $objTpl->setVariable("FRM_HEADER", $objLang->get("editFeed", "form")); $objTpl->setVariable("FRM_STYLE", ""); $objTpl->setVariable("CMD", CMD_EDIT); } else { $objTpl->setVariable("FORM_ACTIVE_VALUE", "checked=\"checked\""); $objTpl->setVariable("FRM_HEADER", $objLang->get("addFeed", "form")); if (!$blnError) { $objTpl->setVariable("FRM_STYLE", " style=\"display:none\""); } $objTpl->setVariable("CMD", CMD_ADD); $objElements = Elements::getFromParent(0); foreach ($objElements as $objElement) { $objTpl->setCurrentBlock("elements.item"); $objTpl->setVariable("VALUE", $objElement->getId()); $objTpl->setVariable("LABEL", $objElement->getName()); $objTpl->parseCurrentBlock(); } } $objTpl->setVariable("FRM_LABEL_ACTIVE", $objLang->get("active", "form")); $objTpl->setVariable("FRM_LABEL_FEED", $objLang->get("feed", "form")); $objTpl->setVariable("FRM_DESCR_FEED", $objLang->get("feed", "tip")); $objTpl->setVariable("FRM_LABEL_BASEPATH", $objLang->get("basepath", "form")); $objTpl->setVariable("FRM_DESCR_BASEPATH", $objLang->get("basepath", "tip")); $objTpl->setVariable("FRM_LABEL_NAME", $objLang->get("name", "form")); $objTpl->setVariable("FRM_DESCR_REFRESH", $objLang->get("refresh", "tip")); $objTpl->setVariable("FRM_LABEL_REFRESH", $objLang->get("refresh", "form")); $objTpl->setVariable("FRM_LABEL_SAVE", $objLang->get("save", "button")); $objTpl->setVariable("CID", NAV_PCMS_FEEDS); $objTpl->setVariable("EID", $intFeedId); $objTpl->parseCurrentBlock(); $strReturn = $objTpl->get(); break; case CMD_REMOVE: if (strpos($intFeedId, ',') !== false) { //*** Multiple elements submitted. $arrFeeds = explode(',', $intFeedId); $objFeeds = Feed::selectByPK($arrFeeds); foreach ($objFeeds as $objFeed) { $objFeed->delete(); } } else { //*** Single element submitted. $objFeed = Feed::selectByPK($intFeedId); $objFeed->delete(); } //*** Redirect the page. $strReturnTo = request('returnTo'); if (empty($strReturnTo)) { header("Location: " . Request::getUri() . "/?cid=" . request("cid") . "&cmd=" . CMD_LIST); exit; } else { header("Location: " . Request::getURI() . $strReturnTo); exit; } break; } return $strReturn; }
protected function saveAction($categoryID = 0, $id = 0) { $url = '/categories/' . $categoryID . '/elements'; if ($id) { $action = '/edit/' . $id; $element = Elements::findFirst($id); if (!$element) { $this->flash->error("Element not found"); return $this->response->redirect($url); } } else { $action = '/new'; $element = new Elements; } $form = new ElementForm; $data = $this->request->getPost(); if (!$form->isValid($data, $element)) { foreach ($form->getMessages() as $message) { $this->flash->error($message); } return $this->response->redirect($url . $action); } $isSaved = $element->save(); try { if($element->id) { # Deleting old tags $elementsHashtags = ElementsHashtags::find([ "elements_id = :id:", "bind" => ['id' => $element->id . '%'], "bindTypes" => ['id' => Column::BIND_PARAM_INT] ]); foreach ($elementsHashtags as $elementHashtags) { $elementHashtags->delete(); } # Creating new tags if(!empty($data['tags'])) { foreach ($data['tags'] as $tagID) { $elementHashtags = new ElementsHashtags; $elementHashtags->elements_id = $element->id; $elementHashtags->hashtags_id = $tagID; $elementHashtags->save(); } } } } catch (Exception $e) { $this->flash->error($e->getMessage()); } if ($isSaved == false) { foreach ($element->getMessages() as $message) { $this->flash->error($message); } return $this->response->redirect($url . $action); } $form->clear(); $this->flash->success("Элемент успешно сохранен"); return $this->response->redirect($url); }
public function getElements($blnRecursive = FALSE, $intElementType = ELM_TYPE_ALL, $intAccountId = 0) { if ($this->id > 0) { if (!is_object($this->objElementCollection)) { $this->objElementCollection = Elements::getFromParent($this->id, $blnRecursive, $intElementType, $intAccountId); } } else { $this->objElementCollection = new DBA__Collection(); } return $this->objElementCollection; }
public function init() { if (isset($this->advertisement)) { $user = Advertisement::getUser($this->advertisement->id); $element = new Zend_Form_Element_Hidden('id'); $element->setValue($this->advertisement->id); $this->addElement($element); $element = new Zend_Form_Element_Hidden('password'); $element->setValue($this->password); $this->addElement($element); $this->setAction('/' . strtolower($this->city->name) . '/bulletin/update'); } else { $this->setAction('/' . strtolower($this->city->name) . '/bulletin/create'); } $element = new Zend_Form_Element_Hidden('city'); $element->setValue($this->city->id); $this->addElement($element); $this->setMethod('POST'); $this->setName('createAdForm'); $element = new Zend_Form_Element_Text('name'); $element->setLabel('怎么称呼您'); $element->setDescription('必填,中英文都可,2到30个字'); $element->setRequired(true); //$element->addValidator(new Zend_Validate_StringLength(2,30)); if (isset($user)) { $element->setValue($user->name); } $this->addElement($element); $element = new Zend_Form_Element_Text('email'); $element->setLabel('您的Email'); $element->setRequired(true); $element->addValidator(new Zend_Validate_EmailAddress()); $element->addValidator('NotEmpty'); $element->setDescription('必填,将不会显示在您的帖子里'); if (isset($user)) { $element->setValue($user->email); } $this->addElement($element); $element = new Zend_Form_Element_Text('mobile'); $element->setLabel('您的手机号'); $element->addFilter(new Zend_Filter_HtmlEntities()); $element->addFilter(new Zend_Filter_StripTags()); $element->setDescription('方便其他用户联系您'); if (isset($user)) { $element->setValue($user->mobile); } $this->addElement($element); $this->addDisplayGroup(array('name', 'email', 'mobile'), 'aboutYou'); $this->getDisplayGroup('aboutYou')->removeDecorator('DtDdWrapper'); // radio box $element = new Zend_Form_Element_Radio('type'); $element->addMultiOptions(array('lease' => '供', 'want' => '求'))->removeDecorator('Label'); $element->setSeparator('')->setValue(Advertisement::LEASE); if (isset($this->advertisement)) { $element->setValue($this->advertisement->type); } $this->addElement($element); // category $element = new Zend_Form_Element_Checkbox("isBusiness"); $element->setLabel('是商铺/店面吗?'); if (isset($this->advertisement) && $this->advertisement->category_id == Category::SHOP) { $element->setValue(1); } else { $element->setValue(0); } $this->addElement($element); $element = new Zend_Form_Element_Text('title'); $element->setLabel('帖子标题'); $element->setRequired(true); $element->addValidator('NotEmpty'); //$element->addValidator(new Zend_Validate_StringLength(10,30)); $element->setDescription('必填,5-100字,概括题目,突出重点'); if (isset($this->advertisement)) { $element->setValue($this->advertisement->title); } $this->addElement($element); $element = new Zend_Form_Element_Text('address'); $element->setLabel('房子的住址'); $element->setDescription('必填,以便用户在地图上方便的找到'); if (isset($this->advertisement)) { $element->setValue($this->advertisement->address); } $this->addElement($element); $element = new Zend_Form_Element_Text('rent'); $element->setLabel('租金'); if (isset($this->advertisement)) { $element->setValue($this->advertisement->rent); } $this->addElement($element); $element = new Zend_Form_Element_Select('currency'); //$element->setLabel("货币"); $element->addMultiOptions(Currency::getAvailableCurrencyAsArray()); if (isset($this->advertisement)) { $element->setValue(Advertisement::getCurrency($this->advertisement)->id); } else { $element->setValue(127); } $this->addElement($element); $element = new Zend_Form_Element_Radio('rent_measurement'); $element->addMultiOptions(array('month' => '每月', 'day' => '每日'))->setSeparator('')->setDescription('必填')->removeDecorator('Label'); $element->setSeparator('')->setValue(Advertisement::RENT_MONTHLY); if (isset($this->advertisement)) { if ($this->advertisement->rent_measurement == Advertisement::RENT_MONTHLY) { $element->setValue('month'); } else { if ($this->advertisement->rent_measurement == Advertisement::RENT_DAILY) { $element->setValue('day'); } } } $element->setRequired(true); $element->addValidator('NotEmpty'); $element->addValidator(new Zend_Validate_Alnum()); $this->addElement($element); // start date and stop date $element = new Zend_Form_Element_Text('start_date'); $element->setRequired(true); $element->addValidator('NotEmpty'); $element->setLabel('开始日期'); $element->setDescription('必填,格式为2010-09-11'); if (isset($this->advertisement)) { $element->setValue($this->advertisement->start_date); } $this->addElement($element); $element = new Zend_Form_Element_Text('stop_date'); $element->setLabel('结束日期'); $element->setDescription('同上,留空则为长期'); if (isset($this->advertisement)) { $element->setValue($this->advertisement->stop_date); } $this->addElement($element); $element = new Zend_Form_Element_Text('area'); $element->setLabel('面积(平方米)'); $element->addValidator(new Zend_Validate_Alnum()); if (isset($this->advertisement)) { $element->setValue($this->advertisement->area); } $this->addElement($element); $element = new Zend_Form_Element_Text('num_of_room'); $element->setLabel('房间数'); $element->addValidator(new Zend_Validate_Alnum()); $element->setDescription('卧房数'); if (isset($this->advertisement)) { $element->setValue($this->advertisement->num_of_room); } $this->addElement($element); $element = new Zend_Form_Element_Textarea('description'); $element->setLabel('其他描述'); $element->setDescription('更多详细信息,例如: 交通是否方便? 是否有独立卫生间和厨房? 是否仅限女生? 是否有家具? 月租是否包括网费? 您的个人习惯等等。'); $element->setAttrib('rows', 4); if (isset($this->advertisement)) { $element->setValue($this->advertisement->description); } $this->addElement($element); $element = new Elements(); $element->addReCaptcha($this); $element = new Zend_Form_Element_Submit('post'); $element->setValue('提交')->removeDecorator('Label'); $this->addElement($element); $this->addDisplayGroup(array('isBusiness', 'type', 'title', 'address', 'rent', 'currency', 'rent_measurement', 'start_date', 'stop_date', 'area', 'num_of_room', 'description', 'challenge', 'post'), 'aboutRoom'); $this->getDisplayGroup('aboutRoom')->removeDecorator('DtDdWrapper'); }
public function delofferAction() { $this->view->disable(); $user_id = $this->session->get('user_id'); if ($this->request->isAjax()) { $offer = Offers::findFirst($this->request->getPost('offer_id')); foreach ($offer->dannoffers as $dann) { $dann->delete(); } foreach ($offer->comments as $comment) { $comment->delete(); } foreach ($offer->favorites as $fav) { foreach (OffersHasFavorites::find(array('favorites_id = "' . $fav->id . '"')) as $favs) { $favs->delete(); } $fav->delete(); } $offer->delete(); $el = new Elements(); if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/public/upload/users/user-' . $user_id . '/offers/offer-' . $this->request->getPost('offer_id'))) { $el->delete($_SERVER['DOCUMENT_ROOT'] . '/public/upload/users/user-' . $user_id . '/offers/offer-' . $this->request->getPost('offer_id')); } } }
/** * Renderiza a view * * @param string $path Indica qual o view deve ser carregado. */ public function render($path = "", $includeType = '') { /** * VARIÁVEIS DE AMBIENTE */ $this->environment["pageTitle"] = $this->pageTitle; $this->environment["siteTitle"] = $this->siteTitle; $this->environment["metaTags"] = $this->metaTags; /** * ENVIA DADOS PARA O VIEW */ $this->set("siteTitle", $this->siteTitle); $this->set("pageTitle", $this->pageTitle); /* * ELEMENTS */ //include_once(CORE_CLASS_DIR.'Elements.php'); $elements = Elements::getInstance(); $this->set('elements', $elements); /** * * DEFINE VARIÁVEIS PARA AS VIEWS * * Cria todas as variáveis para serem acessadas pela view diretamente. * * Ex.: $variavel estará disponível em vez de $this->variavel. */ foreach ($this->globalVars as $chave => $valor) { ${$chave} = $valor; /** * Agora as variáveis são locais a este método, sendo acessadas * pelo view, pois o view é acessado via include a seguir ainda * neste método. */ } /** * Há arquivos padrães que podem substituir funcionalidades de um módulo * quando estes estão ausentes. * * Inclui a view correspondente deste action */ $content_for_layout = ""; if ($path != false) { ob_start(); include APP_VIEW_DIR . "" . $this->dispatcher->callController . "/" . $path . ".php"; $content_for_layout = ob_get_contents(); ob_end_clean(); if (is_file(APP_LAYOUT_DIR . $this->layout . ".php")) { include APP_LAYOUT_DIR . $this->layout . ".php"; } else { include CORE_LAYOUT_DIR . $this->layout . ".php"; } } /** * Confirma que renderização foi feita para que não haja duplicação * da view */ $this->isRendered = true; return true; }
$el = new Elements($form, 'myemail', 'email'); $el->label(array('en' => 'label en', 'fr' => 'label fr')); $el->html(); $el = new Elements($form, 'myurl', 'url'); $el->label(array('en' => 'label en', 'fr' => 'label fr')); $el->html(); $el = new Elements($form, 'mycolor', 'color'); $el->label(array('en' => 'label en', 'fr' => 'label fr')); $el->html(); $el = new Elements($form, 'mysearch', 'search'); $el->label(array('en' => 'label en', 'fr' => 'label fr')); $el->html(); $el = new Elements($form, 'mypassword', 'password'); $el->label(array('en' => 'label en', 'fr' => 'label fr')); $el->html(); $el = new Elements($form, 'mylocation', 'location'); $el->label(array('en' => 'label en', 'fr' => 'label fr')); $el->html(); $form->create(); } catch (Exception $e) { echo '<code>class "' . $e->getTrace()[0]['class'] . '" : function "' . $e->getTrace()[0]['function'] . '" : line "' . $e->getTrace()[0]['line'] . '" <br /> message "' . $e->getMessage() . '"</code><br />'; } ?> <script src="https://maps.googleapis.com/maps/api/js?signed_in=true&libraries=places"></script> <script src="<?php echo BASE_URL; ?> /bower_components/jquery/dist/jquery.min.js"></script> <script src="http://v4-alpha.getbootstrap.com/dist/js/bootstrap.js"></script>
public static function exportElement($objDoc, $intAccountId, $intId, &$arrFiles, $arrTemplateFilters = NULL, $arrElementFilters = NULL, $includeSelf = false) { global $_CONF; $objElements = $objDoc->createElement('elements'); if ($includeSelf) { $objElement = Element::selectByPK($intId); $objDbElements = new DBA__Collection(); $objDbElements->addObject($objElement); } else { //$objDbTemplates = Templates::getFromParent($intId, false, $intAccountId); $objDbElements = Elements::getFromParent($intId, false, "'1', '2', '3', '4', '5'", $intAccountId); } if ($objDbElements->count() > 0) { foreach ($objDbElements as $objDbElement) { if (($arrTemplateFilters == NULL || in_array($objDbElement->getTemplateId(), $arrTemplateFilters)) && ($arrElementFilters == NULL || in_array($objDbElement->getId(), $arrElementFilters))) { $objElement = $objDoc->createElement('element'); $objElement->setAttribute("id", $objDbElement->getId()); $objElement->setAttribute("name", $objDbElement->getName()); $objElement->setAttribute("nameCount", $objDbElement->getNameCount()); $objElement->setAttribute("apiName", $objDbElement->getApiName()); $objElement->setAttribute("description", $objDbElement->getDescription()); $objElement->setAttribute("typeId", $objDbElement->getTypeId()); $objElement->setAttribute("templateId", $objDbElement->getTemplateId()); $objElement->setAttribute("isPage", $objDbElement->getIsPage()); $objElement->setAttribute("userId", $objDbElement->getUserId()); $objElement->setAttribute("groupId", $objDbElement->getGroupId()); $objElement->setAttribute("sort", $objDbElement->getSort()); $objElement->setAttribute("active", $objDbElement->getActive()); $objElement->setAttribute("username", $objDbElement->getUsername()); $objElement->setAttribute("created", $objDbElement->getCreated()); $objElement->setAttribute("modified", $objDbElement->getModified()); //*** Schedule. $objSchedule = $objDbElement->getSchedule(); $objElement->setAttribute("scheduleStartActive", $objSchedule->getStartActive()); $objElement->setAttribute("scheduleStartDate", $objSchedule->getStartDate()); $objElement->setAttribute("scheduleEndActive", $objSchedule->getEndActive()); $objElement->setAttribute("scheduleEndDate", $objSchedule->getEndDate()); //*** Fields. $arrActiveLangs = $objDbElement->getLanguageActives(); $objContentLangs = ContentLanguage::select(); $objFields = $objDoc->createElement('fields'); $objDbFields = $objDbElement->getFields(); foreach ($objDbFields as $objDbField) { $objField = $objDoc->createElement('field'); $objField->setAttribute("templateFieldId", $objDbField->getTemplateFieldId()); $objField->setAttribute("sort", $objDbField->getSort()); foreach ($objContentLangs as $objContentLanguage) { $objValue = $objDbField->getValueObject($objContentLanguage->getId()); if (is_object($objValue)) { $strValue = str_replace("&", "&", $objValue->getValue()); $objLanguage = $objDoc->createElement('language', $strValue); $objLanguage->setAttribute("id", $objContentLanguage->getId()); $objLanguage->setAttribute("active", in_array($objContentLanguage->getId(), $arrActiveLangs) ? 1 : 0); $objLanguage->setAttribute("cascade", $objValue->getCascade()); $objField->appendChild($objLanguage); switch ($objDbField->getTypeId()) { case FIELD_TYPE_FILE: $arrFileTemp = explode("\n", $strValue); foreach ($arrFileTemp as $fileValue) { if (!empty($fileValue)) { $arrTemp = explode(":", $fileValue); $strSrc = count($arrTemp) > 1 ? $arrTemp[1] : $arrTemp[0]; array_push($arrFiles, $strSrc); } } break; case FIELD_TYPE_IMAGE: $arrFileTemp = explode("\n", $strValue); foreach ($arrFileTemp as $fileValue) { if (!empty($fileValue)) { $arrTemp = explode(":", $fileValue); $strSrc = count($arrTemp) > 1 ? $arrTemp[1] : $arrTemp[0]; $objImageField = new ImageField($objDbField->getTemplateFieldId()); $arrSettings = $objImageField->getSettings(); foreach ($arrSettings as $key => $arrSetting) { if (!empty($arrSetting['width']) || !empty($arrSetting['height'])) { //*** Add file. array_push($arrFiles, FileIO::add2Base($strSrc, $arrSetting['key'])); } } array_push($arrFiles, $strSrc); } } break; } } } $objFields->appendChild($objField); } if ($objDbFields->count() > 0) { $objElement->appendChild($objFields); } else { $objDbLanguages = ElementLanguage::selectByElement($objDbElement->getId()); $objLanguages = $objDoc->createElement('languages'); foreach ($objDbLanguages as $objDbLanguage) { if ($objDbLanguage->getActive()) { $objLanguage = $objDoc->createElement('language'); $objLanguage->setAttribute("id", $objDbLanguage->getLanguageId()); $objLanguage->setAttribute("active", $objDbLanguage->getActive()); $objLanguage->setAttribute("cascade", $objDbLanguage->getCascade()); $objLanguages->appendChild($objLanguage); } } if ($objDbLanguages->count() > 0) { $objElement->appendChild($objLanguages); } } //*** Feed fields. $objDbFeed = $objDbElement->getFeed(); if (is_object($objDbFeed) && $objDbFeed->getId() > 0) { $objFeed = $objDoc->createElement('feed'); $objFeed->setAttribute("feedId", $objDbFeed->getFeedId()); $objFeed->setAttribute("feedPath", $objDbFeed->getFeedPath()); $objFeed->setAttribute("maxItems", $objDbFeed->getMaxItems()); $objFeed->setAttribute("sortBy", $objDbFeed->getSortBy()); $objFeed->setAttribute("aliasField", $objDbFeed->getAliasField()); $objDbFields = ElementFieldFeed::selectByElement($objDbElement->getId()); foreach ($objDbFields as $objDbField) { $objField = $objDoc->createElement('feedfield'); $objField->setAttribute("templateFieldId", $objDbField->getTemplateFieldId()); $objField->setAttribute("feedPath", $objDbField->getFeedPath()); $objField->setAttribute("xpath", $objDbField->getXpath()); $objField->setAttribute("languageId", $objDbField->getLanguageId()); $objField->setAttribute("cascade", $objDbField->getCascade()); $objField->setAttribute("sort", $objDbField->getSort()); $objFeed->appendChild($objField); } $objElement->appendChild($objFeed); } //*** Meta values. if ($objDbElement->isPage()) { $blnHasMeta = false; $objMeta = $objDoc->createElement('meta'); foreach ($objContentLangs as $objContentLanguage) { $objDbMeta = $objDbElement->getMeta($objContentLanguage->getId()); if (is_object($objDbMeta)) { $objLanguage = $objDoc->createElement('language'); $objLanguage->setAttribute("id", $objContentLanguage->getId()); $strValue = str_replace("&", "&", $objDbMeta->getValueByValue("name", "title")); $objLanguage->setAttribute("title", $strValue); $strValue = str_replace("&", "&", $objDbMeta->getValueByValue("name", "keywords")); $objLanguage->setAttribute("keywords", $strValue); $strValue = str_replace("&", "&", $objDbMeta->getValueByValue("name", "description")); $objLanguage->setAttribute("description", $strValue); $objMeta->appendChild($objLanguage); $blnHasMeta = true; } } if ($blnHasMeta) { $objElement->appendChild($objMeta); } } //*** Permissions. $objPermissions = $objDoc->createElement('permissions'); $objDbPermissions = $objDbElement->getPermissions(); $objPermissions->setAttribute("users", implode(",", $objDbPermissions->getUserId())); $objPermissions->setAttribute("groups", implode(",", $objDbPermissions->getGroupId())); $objElement->appendChild($objPermissions); //*** Sub elements. $objSubElements = self::exportElement($objDoc, $intAccountId, $objDbElement->getId(), $arrFiles, $arrTemplateFilters, $arrElementFilters); if ($objSubElements) { $objElement->appendChild($objSubElements); } $objElements->appendChild($objElement); } } } return $objElements; }
public static function getPagesArray($obj = NULL) { if ($obj === NULL) { $obj = Elements::getFromParent(0, false); } $elements = $obj; foreach ($elements as $element) { $pageArray[] = array('name' => $element->getName(), 'id' => $element->getId(), 'children' => Elements::getPagesArray($element->getElements(false))); } if (!is_array($pageArray)) { return "none"; } return $pageArray; }
private static function buildXmlNodes($intElmntId = 0, $strType = "elements", $strAction = "list", $childId = 0, $strChildren = "") { global $objLang, $objLiveUser; $strReturn = ""; switch ($strType) { case "elements-ckeditor": case "elements": $objElements = Elements::getFromParent($intElmntId); foreach ($objElements as $objElement) { if ($objLiveUser->checkRightLevel(PUNCHCMS_ELEMENTS_VIEW, $objElement->getPermissions()->getUserId(), $objElement->getPermissions()->getGroupId())) { $objChildren = $objElement->getElements(); $isPage = $objElement->isPage() ? 'font-weight:bold;' : ''; if (is_object($objChildren) && $objChildren->count() > 0 && $objElement->getTypeId() != ELM_TYPE_FOLDER) { if (!$objElement->getActive()) { $strReturn .= "<item text=\"" . self::escapeForXml($objElement->getName()) . "\" id=\"{$objElement->getId()}\" style=\"{$isPage}color:#999\" im0=\"elementClosedInactive.gif\" im1=\"elementOpenInactive.gif\" im2=\"elementClosedInactive.gif\" child=\"1\">"; } else { $strReturn .= "<item text=\"" . self::escapeForXml($objElement->getName()) . "\" id=\"{$objElement->getId()}\" style=\"{$isPage}\" im0=\"elementClosed.gif\" im1=\"elementOpen.gif\" im2=\"elementClosed.gif\" child=\"1\">"; } if ($childId == $objElement->getId()) { $strReturn .= $strChildren; } $strReturn .= "</item>"; } else { if ($objElement->getTypeId() == ELM_TYPE_FOLDER) { $intChild = is_object($objChildren) && $objChildren->count() > 0 ? 1 : 0; if (!$objElement->getActive()) { $strReturn .= "<item text=\"" . self::escapeForXml($objElement->getName()) . "\" id=\"{$objElement->getId()}\" style=\"{$isPage}color:#999\" im0=\"folderClosedInactive.gif\" im1=\"folderOpenInactive.gif\" im2=\"folderClosedInactive.gif\" child=\"{$intChild}\">"; } else { $strReturn .= "<item text=\"" . self::escapeForXml($objElement->getName()) . "\" id=\"{$objElement->getId()}\" style=\"{$isPage}\" im0=\"folderClosed.gif\" im1=\"folderOpen.gif\" im2=\"folderClosed.gif\" child=\"{$intChild}\">"; } if ($childId == $objElement->getId()) { $strReturn .= $strChildren; } $strReturn .= "</item>"; } else { if (!$objElement->getActive()) { $strReturn .= "<item text=\"" . self::escapeForXml($objElement->getName()) . "\" id=\"{$objElement->getId()}\" style=\"{$isPage}color:#999\" im0=\"leafInactive.gif\" im1=\"leafInactive.gif\" im2=\"leafInactive.gif\" child=\"0\" />"; } else { $strReturn .= "<item text=\"" . self::escapeForXml($objElement->getName()) . "\" id=\"{$objElement->getId()}\" style=\"{$isPage}\" child=\"0\" />"; } } } } } if ($strAction == "init") { $objParent = Element::selectByPk($intElmntId); if (is_object($objParent)) { $intParent = $objParent->getParentId(); $strReturn = self::buildXmlNodes($intParent, $strType, $strAction, $intElmntId, $strReturn); } } break; case "templates": $objTemplates = Templates::getFromParent($intElmntId); foreach ($objTemplates as $objTemplate) { $objChildren = $objTemplate->getTemplates(); if (is_object($objChildren) && $objChildren->count() > 0) { $strReturn .= "<item text=\"" . self::escapeForXml($objTemplate->getName()) . "\" id=\"{$objTemplate->getId()}\" im0=\"templateClosed.gif\" im1=\"templateOpen.gif\" im2=\"templateClosed.gif\" child=\"1\">"; if ($childId == $objTemplate->getId()) { $strReturn .= $strChildren; } $strReturn .= "</item>"; } else { $strReturn .= "<item text=\"" . self::escapeForXml($objTemplate->getName()) . "\" id=\"{$objTemplate->getId()}\" im0=\"template.gif\" im1=\"template.gif\" im2=\"template.gif\" child=\"0\" />"; } } if ($strAction == "init") { $objParent = Template::selectByPk($intElmntId); if (is_object($objParent)) { $intParent = $objParent->getParentId(); $strReturn = self::buildXmlNodes($intParent, $strType, $strAction, $intElmntId, $strReturn); } } break; case "users": $strReturn = "<item text=\"" . self::escapeForXml($objLang->get("users", "usersLabel")) . "\" id=\"" . NAV_MYPUNCH_USERS_USER . "\" im0=\"misc.gif\" im1=\"misc.gif\" im2=\"misc.gif\" child=\"0\" />"; $strReturn .= "<item text=\"" . self::escapeForXml($objLang->get("groups", "usersLabel")) . "\" id=\"" . NAV_MYPUNCH_USERS_GROUP . "\" im0=\"misc.gif\" im1=\"misc.gif\" im2=\"misc.gif\" child=\"0\" />"; $strReturn .= "<item text=\"" . self::escapeForXml($objLang->get("applications", "usersLabel")) . "\" id=\"" . NAV_MYPUNCH_USERS_APPLICATION . "\" im0=\"misc.gif\" im1=\"misc.gif\" im2=\"misc.gif\" child=\"0\" />"; $strReturn .= "<item text=\"" . self::escapeForXml($objLang->get("areas", "usersLabel")) . "\" id=\"" . NAV_MYPUNCH_USERS_AREA . "\" im0=\"misc.gif\" im1=\"misc.gif\" im2=\"misc.gif\" child=\"0\" />"; $strReturn .= "<item text=\"" . self::escapeForXml($objLang->get("rights", "usersLabel")) . "\" id=\"" . NAV_MYPUNCH_USERS_RIGHT . "\" im0=\"misc.gif\" im1=\"misc.gif\" im2=\"misc.gif\" child=\"0\" />"; break; case "forms": $objForms = Form::selectByAccountId(); foreach ($objForms as $objForm) { $strReturn .= "<item text=\"" . self::escapeForXml($objForm->getName()) . "\" id=\"{$objForm->getId()}\" im0=\"template.gif\" im1=\"template.gif\" im2=\"template.gif\" child=\"0\" />"; } break; case "media-ckeditor": case "storage": $objFolders = StorageItems::getFromParent($intElmntId, STORAGE_TYPE_ALL); foreach ($objFolders as $objElement) { $objChildren = $objElement->getItems(STORAGE_TYPE_ALL); if ($objElement->getTypeId() != STORAGE_TYPE_FOLDER) { $strReturn .= "<item text=\"" . self::escapeForXml($objElement->getName()) . "\" id=\"{$objElement->getId()}\" child=\"0\">"; if ($childId == $objElement->getId()) { $strReturn .= $strChildren; } $strReturn .= "</item>"; } else { if ($objElement->getTypeId() == STORAGE_TYPE_FOLDER) { $intChild = is_object($objChildren) && $objChildren->count() > 0 ? 1 : 0; $strReturn .= "<item text=\"" . self::escapeForXml($objElement->getName()) . "\" id=\"{$objElement->getId()}\" style=\"font-weight:bold;\" im0=\"folderClosed.gif\" im1=\"folderOpen.gif\" im2=\"folderClosed.gif\" child=\"{$intChild}\">"; if ($childId == $objElement->getId()) { $strReturn .= $strChildren; } $strReturn .= "</item>"; } else { $strReturn .= "<item text=\"" . self::escapeForXml($objElement->getName()) . "\" id=\"{$objElement->getId()}\" im0=\"elementClosed.gif\" im1=\"elementOpen.gif\" im2=\"elementClosed.gif\" child=\"0\" />"; } } } if ($strAction == "init") { $objParent = StorageItem::selectByPk($intElmntId); if (is_object($objParent)) { $intParent = $objParent->getParentId(); $strReturn = self::buildXmlNodes($intParent, $strType, $strAction, $intElmntId, $strReturn); } } break; } return $strReturn; }
/** * @expectedException DomainException */ public function testExceptionWhenTryingToShrinkValuesOutsideOfTheDomain() { $generator = Elements::fromArray(['A', 1]); $generator->shrink(2); }
} //*** Check if the category is a top level product id. if ($productKey = array_search($intCatId, $_CONF['app']['msMypunch']['product'])) { foreach ($_CONF['app']['ms' . ucfirst($productKey)] as $key => $value) { if ($objLiveUser->checkRight($_CONF['app']['navRights'][$value]) == true) { $intCatId = $value; break; } } } //*** Handle data manipulation request. switch ($strCommand) { case CMD_SORT: switch ($intCatId) { case NAV_PCMS_ELEMENTS: Elements::sortChildren($intElmntId); $strCommand = CMD_LIST; break; case NAV_PCMS_TEMPLATES: Templates::sortChildren($intElmntId); $strCommand = CMD_LIST; break; case NAV_PCMS_LANGUAGES: ContentLanguage::sort($intElmntId); $strCommand = CMD_LIST; break; case NAV_PCMS_STORAGE: StorageItems::sortChildren($intElmntId); $strCommand = CMD_LIST; break; }