/** * @override */ public function getXHtml($backend = false) { global $objInit; $uploadPath = $this->getUploadPath('jump'); $tpl = new \Cx\Core\Html\Sigma(ASCMS_CORE_MODULE_PATH . '/Upload/template/uploaders'); $tpl->setErrorHandling(PEAR_ERROR_DIE); $tpl->loadTemplateFile('jump.html'); $basePath = 'index.php?'; $basePath .= $this->isBackendRequest ? 'cmd=Upload&act' : 'section=Upload&cmd'; //act and cmd vary $appletPath = $basePath . '=jumpUploaderApplet'; $l10nPath = $basePath . '=jumpUploaderL10n'; $langId; if (!$this->isBackendRequest) { $langId = $objInit->getFrontendLangId(); } else { //backend $langId = $objInit->getBackendLangId(); } $langCode = \FWLanguage::getLanguageCodeById($langId); if (!file_exists(ASCMS_CORE_MODULE_PATH . '/Upload/ressources/uploaders/jump/messages_' . $langCode . '.zip')) { $langCode = 'en'; } $l10nPath .= '&lang=' . $langCode; $tpl->setVariable('UPLOAD_CHUNK_LENGTH', \FWSystem::getMaxUploadFileSize() - 1000); $tpl->setVariable('UPLOAD_APPLET_URL', $appletPath); $tpl->setVariable('UPLOAD_LANG_URL', $l10nPath); $tpl->setVariable('UPLOAD_URL', $uploadPath); $tpl->setVariable('UPLOAD_ID', $this->uploadId); return $tpl->get(); }
/** * Adds the toolbar to the current html structure (after the starting body tag) * * @param ComponentController $componentController */ private function prepareTemplate(\Cx\Core_Modules\FrontendEditing\Controller\ComponentController $componentController) { global $_ARRAYLANG, $objTemplate; // get necessary objects $objInit = \Env::get('init'); $page = $this->cx->getPage(); // init component template object $componentTemplate = new \Cx\Core\Html\Sigma(ASCMS_CORE_MODULE_PATH . '/' . $componentController->getName() . '/View/Template/Generic'); $componentTemplate->setErrorHandling(PEAR_ERROR_DIE); // add div for toolbar after starting body tag $componentTemplate->loadTemplateFile('Toolbar.html'); // @author: Michael Ritter // not used for contrexx 3.1 // global $_CORELANG; // $template = $objTemplate; // $root = $componentTemplate->fileRoot; // $componentTemplate->setRoot(ASCMS_ADMIN_TEMPLATE_PATH); // $objTemplate = $componentTemplate; // \Env::get('ClassLoader')->loadFile(ASCMS_DOCUMENT_ROOT . '/lang/en/backend.php'); // $langCode = \FWLanguage::getLanguageCodeById(FRONTEND_LANG_ID); // if ($langCode != 'en') { // \Env::get('ClassLoader')->loadFile(ASCMS_DOCUMENT_ROOT . '/lang/' . $langCode . '/backend.php'); // } // $_CORELANG = array_merge($_CORELANG, $_ARRAYLANG); // $menu = new \adminMenu('fe'); // $menu->getAdminNavbar(); // $componentTemplate->setRoot($root); // $objTemplate = $template; // end code from Michael Ritter $objUser = $this->cx->getUser()->objUser; $firstname = $objUser->getProfileAttribute('firstname'); $lastname = $objUser->getProfileAttribute('lastname'); $componentTemplate->setGlobalVariable(array('LOGGED_IN_USER' => !empty($firstname) && !empty($lastname) ? $firstname . ' ' . $lastname : $objUser->getUsername(), 'TXT_LOGOUT' => $_ARRAYLANG['TXT_FRONTEND_EDITING_TOOLBAR_LOGOUT'], 'TXT_FRONTEND_EDITING_TOOLBAR_OPEN_CM' => $_ARRAYLANG['TXT_FRONTEND_EDITING_TOOLBAR_OPEN_CM'], 'TXT_FRONTEND_EDITING_HISTORY' => $_ARRAYLANG['TXT_FRONTEND_EDITING_HISTORY'], 'TXT_FRONTEND_EDITING_OPTIONS' => $_ARRAYLANG['TXT_FRONTEND_EDITING_OPTIONS'], 'TXT_FRONTEND_EDITING_ADMINMENU' => $_ARRAYLANG['TXT_FRONTEND_EDITING_ADMINMENU'], 'TXT_FRONTEND_EDITING_CSS_CLASS' => $_ARRAYLANG['TXT_FRONTEND_EDITING_CSS_CLASS'], 'TXT_FRONTEND_EDITING_CUSTOM_CONTENT' => $_ARRAYLANG['TXT_FRONTEND_EDITING_CUSTOM_CONTENT'], 'TXT_FRONTEND_EDITING_THEMES' => $_ARRAYLANG['TXT_FRONTEND_EDITING_THEMES'], 'TXT_FRONTEND_EDITING_TOOLBAR_SAVE_BLOCK' => $_ARRAYLANG['TXT_FRONTEND_EDITING_TOOLBAR_SAVE_BLOCK'], 'SKIN_OPTIONS' => $this->getSkinOptions(), 'LINK_LOGOUT' => $objInit->getUriBy('section', 'logout'), 'LINK_PROFILE' => ASCMS_PATH_OFFSET . '/cadmin/index.php?cmd=Access&act=user&tpl=modify&id=' . $objUser->getId(), 'LINK_CM' => ASCMS_PATH_OFFSET . '/cadmin/index.php?cmd=ContentManager&page=' . $page->getId() . '&tab=content')); $objTemplate->_blocks['__global__'] = preg_replace('/<body[^>]*>/', '\\0' . $componentTemplate->get(), $objTemplate->_blocks['__global__']); }
public function getBackendViewMessage() { $template = new \Cx\Core\Html\Sigma(); $template->setErrorHandling(PEAR_ERROR_DIE); $template->loadTemplateFile($this->templateFile); $template->setVariable($this->templatePlaceholders); \Cx\Core\Csrf\Controller\Csrf::add_placeholder($template); return $template->get(); }
function showQuestions() { global $objInit; $objTpl = new \Cx\Core\Html\Sigma(ASCMS_MODULE_PATH . "/{$this->moduleName}/View/Template/Backend"); $objTpl->loadTemplateFile("module_survey_questions.html"); $_ARRAYLANG = $objInit->loadLanguageData('Survey'); if (empty($this->questions)) { $objTpl->setVariable('TXT_SERVEY_NO_QUESTIONS', $_ARRAYLANG['TXT_SERVEY_NO_QUESTIONS']); $objTpl->parse('noSurveyQuestions'); } else { $objTpl->hideBlock('noSurveyQuestions'); } foreach ($this->questions as $questionId => $question) { $comment = $question['isCommentable'] ? $_ARRAYLANG['TXT_YES'] : $_ARRAYLANG['TXT_NO']; $InputType = $question['questionType']; if (!empty($InputType)) { switch ($InputType) { case "1": $Radio = $_ARRAYLANG['TXT_MULTIPLE_CHOICE_ONE_ANSWER']; break; case "2": $Radio = $_ARRAYLANG['TXT_MULTIPLE_CHOICE_MULTIPLE_ANSWER']; break; case "3": $Radio = $_ARRAYLANG['TXT_MATRIX_CHOICE_ONE_ANSWER_PER_ROW']; break; case "4": $Radio = $_ARRAYLANG['TXT_MATRIX_CHOICE_MULTIPLE_ANSWER_PER_ROW']; break; case "5": $Radio = $_ARRAYLANG['TXT_SINGLE_TEXTBOX']; break; case "6": $Radio = $_ARRAYLANG['TXT_MULTIPLE_TEXTBOX']; break; case "7": $Radio = $_ARRAYLANG['TXT_TEXT_ROW']; break; } } // for question Title with tool tip $surveynameVar = contrexx_raw2xhtml($question['question']); $surveyTemp = ''; if ($surveynameVar != "") { $surveyShot = substr($surveynameVar, 0, 20); if (strlen($surveynameVar) > 20) { $surveyTemp = $surveyShot . '..<a href="#" title="' . $surveynameVar . '" class="tooltip"><img border="0" src="' . ASCMS_PATH_OFFSET . ASCMS_MODULE_FOLDER . '/Survey/View/Media/comment.gif"><a>'; } else { $surveyTemp = $surveyShot; } } $objTpl->setVariable(array('SURVEY_ID' => contrexx_raw2xhtml($questionId), 'TXT_SURVEY_POS' => contrexx_raw2xhtml($question['pos']), 'SURVEY_QUESTION' => $surveyTemp, 'SURVEY_QUESTION_CREATED_AT' => contrexx_raw2xhtml($question['created']), 'SURVEY_QUESTION_TYPE' => contrexx_raw2xhtml($Radio), 'SURVEY_QUESTION_COMMENTABLE' => contrexx_raw2xhtml($comment), 'SURVEY_COUNTER' => contrexx_raw2xhtml($question['votes']) . " votes", 'ENTRY_ROWCLASS' => $row = $row == 'row1' ? 'row2' : 'row1', 'TXT_ANALYSE_QUESTION_PREVIEW' => $_ARRAYLANG['TXT_ANALYSE_QUESTION_PREVIEW'], 'TXT_SURVEY_EDIT_TXT' => $_ARRAYLANG['TXT_SURVEY_EDIT_TXT'], 'TXT_SURVEY_DELETE_TXT' => $_ARRAYLANG['TXT_SURVEY_DELETE_TXT'])); $objTpl->parse('ShowQuestions'); } return $objTpl->get(); }
/** * Gets the XHTML to display the widget. * @param string $containerSelector a jQuery selector defining the element * where the widget should be put into. */ public function getXhtml($containerSelector, $instanceName) { \JS::registerJS('core_modules/Upload/js/folderWidget.js'); $tpl = new \Cx\Core\Html\Sigma(ASCMS_CORE_MODULE_PATH . '/Upload/template/'); $tpl->setErrorHandling(PEAR_ERROR_DIE); $tpl->loadTemplateFile('folderWidget.html'); $tpl->setVariable('ID', $this->id); //from where the combouploader gets the code on an uploader switch $cmdOrSection = $this->isBackendRequest ? 'cmd' : 'section'; $actOrCmd = $this->isBackendRequest ? 'act' : 'cmd'; $refreshUrl = ($this->isBackendRequest ? ASCMS_ADMIN_WEB_PATH : ASCMS_PATH_OFFSET) . \Env::get('virtualLanguageDirectory') . '/index.php?' . $cmdOrSection . '=Upload&' . $actOrCmd . '=refreshFolder'; $deleteUrl = ($this->isBackendRequest ? ASCMS_ADMIN_WEB_PATH : ASCMS_PATH_OFFSET) . \Env::get('virtualLanguageDirectory') . '/index.php?' . $cmdOrSection . '=Upload&' . $actOrCmd . '=deleteFile'; \ContrexxJavascript::getInstance()->setVariable(array('refreshUrl' => $refreshUrl, 'deleteUrl' => $deleteUrl, 'files' => $this->getFilesJSON(), 'containerSelector' => $containerSelector, 'instanceName' => $instanceName), 'upload/folderWidget_' . $this->id); return $tpl->get(); }
/** * @override */ public function getXHtml() { global $_CORELANG; // CSS dependencies \JS::activate('cx'); $uploadPath = $this->getUploadPath('pl'); $tpl = new \Cx\Core\Html\Sigma(ASCMS_CORE_MODULE_PATH . '/Upload/template/uploaders'); $tpl->setErrorHandling(PEAR_ERROR_DIE); $tpl->loadTemplateFile('pl.html'); $tpl->setVariable('UPLOAD_FLASH_URL', ASCMS_CORE_MODULE_WEB_PATH . '/Upload/ressources/uploaders/pl/plupload.flash.swf'); $tpl->setVariable('UPLOAD_CHUNK_LENGTH', \FWSystem::getLiteralSizeFormat(\FWSystem::getMaxUploadFileSize() - 1000)); $tpl->setVariable('UPLOAD_URL', $uploadPath); $tpl->setVariable('UPLOAD_ID', $this->uploadId); //I18N $tpl->setVariable(array('UPLOAD' => $_CORELANG['UPLOAD'], 'OTHER_UPLOADERS' => $_CORELANG['OTHER_UPLOADERS'], 'FORM_UPLOADER' => $_CORELANG['FORM_UPLOADER'], 'PL_UPLOADER' => $_CORELANG['PL_UPLOADER'], 'JUMP_UPLOADER' => $_CORELANG['JUMP_UPLOADER'], 'SELECT_FILES' => $_CORELANG['SELECT_FILES'], 'ADD_INSTRUCTIONS' => $_CORELANG['ADD_INSTRUCTIONS'], 'FILENAME' => $_CORELANG['FILENAME'], 'STATUS' => $_CORELANG['STATUS'], 'SIZE' => $_CORELANG['SIZE'], 'ADD_FILES' => $_CORELANG['ADD_FILES'], 'STOP_CURRENT_UPLOAD' => $_CORELANG['STOP_CURRENT_UPLOAD'], 'DRAG_FILES_HERE' => $_CORELANG['DRAG_FILES_HERE'])); return $tpl->get(); }
public function getXHtml() { global $_CORELANG; \JS::registerCSS('core_modules/Upload/css/uploaders/exposedCombo/exposedCombo.css'); \JS::registerJS('core_modules/Upload/js/uploaders/exposedCombo/exposedCombo.js'); //back up instance name, we're going to set a temporary name for the combo uploader $instanceNameBak = $this->jsInstanceName; $this->jsInstanceName = 'exposedCombo_comboUploader_' . $this->uploadId; $comboXHtml = parent::getXHtml(); $this->jsInstanceName = $instanceNameBak; $tpl = new \Cx\Core\Html\Sigma(ASCMS_CORE_MODULE_PATH . '/Upload/template/uploaders'); $tpl->setErrorHandling(PEAR_ERROR_DIE); $tpl->loadTemplateFile('exposedCombo.html'); $tpl->setVariable(array('COMBO_CODE' => $comboXHtml, 'DIALOG_TITLE' => $_CORELANG['UPLOAD_EXPOSED_DIALOG_TITLE'])); //see Uploader::handleInstanceBusiness $this->handleInstanceBusiness($tpl, 'exposedCombo'); return $tpl->get(); }
/** * Generate an articlelist * * @param $articles An array of articles * @param $category Category information * @return String */ private function parseArticleList($articles, $categoryname = "", $count, $position, $standalone = false) { global $_LANGID, $_ARRAYLANG, $_CORELANG; $id = intval($_GET['id']); try { $articles = $this->articles->getArticlesByCategory($id); $category = $this->categories->getOneCategory($id); } catch (DatabaseError $e) { die($e->plain()); } $tpl = new \Cx\Core\Html\Sigma(ASCMS_MODULE_PATH . "/Knowledge/View/Template/Backend/"); $tpl->setErrorHandling(PEAR_ERROR_DIE); $tpl->loadTemplateFile("module_knowledge_articles_overview_articlelist.html"); \Cx\Core\Csrf\Controller\Csrf::add_placeholder($tpl); $tpl->setGlobalVariable("MODULE_INDEX", MODULE_INDEX); $tpl->setGlobalVariable(array("TXT_NAME" => $_ARRAYLANG['TXT_NAME'], "TXT_VIEWED" => $_ARRAYLANG['TXT_KNOWLEDGE_VIEWED'], "TXT_SORT" => $_ARRAYLANG['TXT_KNOWLEDGE_SORT'], "TXT_STATE" => $_ARRAYLANG['TXT_KNOWLEDGE_STATE'], "TXT_QUESTION" => $_ARRAYLANG['TXT_KNOWLEDGE_QUESTION'], "TXT_HITS" => $_ARRAYLANG['TXT_KNOWLEDGE_HITS'], "TXT_RATING" => $_ARRAYLANG['TXT_KNOWLEDGE_RATING'], "TXT_ACTIONS" => $_ARRAYLANG['TXT_KNOWLEDGE_ACTIONS'], "TXT_CATEGORY_NAME" => $categoryname, "TXT_BY" => "bei", "TXT_VOTINGS" => "Abstimmungen")); if (!empty($articles)) { foreach ($articles as $key => $article) { $tpl->setVariable(array("ARTICLEID" => $key, "QUESTION" => contrexx_raw2xhtml($article['content'][$_LANGID]['question']), "ACTIVE_STATE" => abs($article['active'] - 1), "CATEGORY_ACTIVE_LED" => $article['active'] ? "green" : "red", "HITS" => $article['hits'], "VOTEVALUE" => round($article['votes'] > 0 ? $article['votevalue'] / $article['votes'] : 0, 2), "VOTECOUNT" => $article['votes'], "MAX_RATING" => $this->settings->get("max_rating"))); $tpl->parse("row"); } } else { $tpl->setVariable(array("TXT_NO_ARTICLES" => $_ARRAYLANG['TXT_KNOWLEDGE_NO_ARTICLES_IN_CAT'])); $tpl->parse("no_articles"); } $tpl->parse("content"); return $tpl->get("content"); }
private static function __kill() { global $_CORELANG; $data = $_SERVER['REQUEST_METHOD'] == 'GET' ? $_GET : $_POST; self::add_code(); $tpl = new \Cx\Core\Html\Sigma(\Env::get('cx')->getCodeBaseCorePath() . '/Csrf/View/Template/Generic/'); $tpl->setErrorHandling(PEAR_ERROR_DIE); $tpl->loadTemplateFile('Warning.html'); $form = ''; foreach ($data as $key => $value) { if ($key == self::$formkey || $key == 'amp;' . self::$formkey || $key == '__cap') { continue; } // There *MUST NOT* be any form element with a name attribute // value of "submit" -- this will break the form's submit() method! if ($key == 'submit') { continue; } $form .= self::parseRequestParametersForForm($key, $value); } $csrfContinue = 'javascript:sendData();'; $csrfAbort = 'index.php' . (isset($_GET['cmd']) ? '?cmd=' . $_GET['cmd'] : ''); $_CORELANG['TXT_CSRF_DESCR'] = str_replace('%1$s', $csrfContinue . '" tabindex="-1', $_CORELANG['TXT_CSRF_DESCR']); $_CORELANG['TXT_CSRF_DESCR'] = str_replace('%2$s', $csrfAbort . '" tabindex="-1', $_CORELANG['TXT_CSRF_DESCR']); $action = $_SERVER['REQUEST_URI']; $tpl->setGlobalVariable(array('TXT_CSRF_TITLE' => $_CORELANG['TXT_CSRF_TITLE'], 'TXT_CSRF_DESCR' => $_CORELANG['TXT_CSRF_DESCR'], 'TXT_CSRF_CONTINUE' => $_CORELANG['TXT_CSRF_CONTINUE'], 'TXT_CSRF_ABORT' => $_CORELANG['TXT_CSRF_ABORT'], 'CSRF_CONTINUE' => $csrfContinue . '" tabindex="1', 'CSRF_ABORT' => $csrfAbort . '" tabindex="2', 'REQUEST_METHOD' => strtolower($_SERVER['REQUEST_METHOD']), 'ACTION' => $action, 'FORM_ELEMENTS' => $form, 'IMAGES_PATH' => ASCMS_ADMIN_WEB_PATH . '/images/csrfprotection')); $tpl->parse(); $endcode = $tpl->get(); // replace links from before contrexx 3 $ls = new \LinkSanitizer(ASCMS_PATH_OFFSET . ASCMS_BACKEND_PATH . '/', $endcode); $endcode = $ls->replace(); echo $endcode; die; }
/** * Ensures that a valid template is available * * Die()s if the template given is invalid, and Form.html cannot be * loaded to replace it. * @param \Cx\Core\Html\Sigma $objTemplateLocal The template, * by reference */ static function verify_template(&$objTemplateLocal) { //"instanceof" considers subclasses of Sigma to be a Sigma, too! if (!$objTemplateLocal instanceof \Cx\Core\Html\Sigma) { $objTemplateLocal = new \Cx\Core\Html\Sigma(\Env::get('cx')->getCodeBaseDocumentRootPath() . '/core/Setting/View/Template/Generic'); } if (!$objTemplateLocal->blockExists('core_setting_row')) { $objTemplateLocal->setRoot(\Env::get('cx')->getCodeBaseDocumentRootPath() . '/core/Setting/View/Template/Generic'); //$objTemplateLocal->setCacheRoot('.'); if (!$objTemplateLocal->loadTemplateFile('Form.html')) { die("Failed to load template Form.html"); } //die(nl2br(contrexx_raw2xhtml(var_export($objTemplateLocal, true)))); } }
protected function actRenderCM() { global $_ARRAYLANG, $_CORELANG, $_CONFIG; \JS::activate('jqueryui'); \JS::activate('cx'); \JS::activate('ckeditor'); \JS::activate('cx-form'); \JS::activate('jstree'); \JS::registerJS('lib/javascript/lock.js'); \JS::registerJS('lib/javascript/jquery/jquery.history.max.js'); // this can be used to debug the tree, just add &tree=verify or &tree=fix $tree = null; if (isset($_GET['tree'])) { $tree = contrexx_input2raw($_GET['tree']); } if ($tree == 'verify') { echo '<pre>'; print_r($this->nodeRepository->verify()); echo '</pre>'; } else { if ($tree == 'fix') { // this should print "bool(true)" var_dump($this->nodeRepository->recover()); } } $objCx = \ContrexxJavascript::getInstance(); $themeRepo = new \Cx\Core\View\Model\Repository\ThemeRepository(); $defaultTheme = $themeRepo->getDefaultTheme(); $objCx->setVariable('themeId', $defaultTheme->getId(), 'contentmanager/theme'); foreach ($themeRepo->findAll() as $theme) { if ($theme == $defaultTheme) { $objCx->setVariable('themeName', $theme->getFoldername(), 'contentmanager/theme'); } } $this->template->addBlockfile('ADMIN_CONTENT', 'content_manager', 'Skeleton.html'); // user has no permission to create new page, hide navigation item in admin navigation if (!\Permission::checkAccess(127, 'static', true)) { $this->template->hideBlock('content_manager_create_new_page_navigation_item'); } $this->template->touchBlock('content_manager'); $this->template->addBlockfile('CONTENT_MANAGER_MEAT', 'content_manager_meat', 'Page.html'); $this->template->touchBlock('content_manager_meat'); if (\Permission::checkAccess(78, 'static', true)) { \JS::registerCode("var publishAllowed = true;"); } else { \JS::registerCode("var publishAllowed = false;"); } if (\Permission::checkAccess(78, 'static', true) && \Permission::checkAccess(115, 'static', true)) { \JS::registerCode("var aliasManagementAllowed = true;"); $alias_permission = "block"; $alias_denial = "none !important"; } else { \JS::registerCode("var aliasManagementAllowed = false;"); $alias_permission = "none !important"; $alias_denial = "block"; } $mediaBrowser = new MediaBrowser(); $mediaBrowser->setCallback('target_page_callback'); $mediaBrowser->setOptions(array('type' => 'button', 'data-cx-mb-views' => 'sitestructure', 'id' => 'page_target_browse')); $mediaBrowserCkeditor = new MediaBrowser(); $mediaBrowserCkeditor->setCallback('ckeditor_image_callback'); $mediaBrowserCkeditor->setOptions(array('id' => 'ckeditor_image_button', 'type' => 'button', 'style' => 'display:none')); $this->template->setVariable(array('MEDIABROWSER_BUTTON' => $mediaBrowser->getXHtml($_ARRAYLANG['TXT_CORE_CM_BROWSE']), 'MEDIABROWSER_BUTTON_CKEDITOR' => $mediaBrowserCkeditor->getXHtml($_ARRAYLANG['TXT_CORE_CM_BROWSE']))); $this->template->setVariable(array('ALIAS_PERMISSION' => $alias_permission, 'ALIAS_DENIAL' => $alias_denial, 'CONTREXX_BASE_URL' => ASCMS_PROTOCOL . '://' . $_CONFIG['domainUrl'] . ASCMS_PATH_OFFSET . '/', 'CONTREXX_LANG' => \FWLanguage::getLanguageCodeById(BACKEND_LANG_ID))); global $_CORELANG; $this->template->setVariable($_CORELANG); $objCx->setVariable('TXT_CORE_CM_VIEW', $_CORELANG['TXT_CORE_CM_VIEW'], 'contentmanager/lang'); $objCx->setVariable('TXT_CORE_CM_ACTIONS', $_CORELANG['TXT_CORE_CM_ACTIONS'], 'contentmanager/lang'); $objCx->setVariable('TXT_CORE_CM_VALIDATION_FAIL', $_CORELANG['TXT_CORE_CM_VALIDATION_FAIL'], 'contentmanager/lang'); $objCx->setVariable('TXT_CORE_CM_HOME_FAIL', $_CORELANG['TXT_CORE_CM_HOME_FAIL'], 'contentmanager/lang'); $arrLangVars = array('actions' => array('new' => 'TXT_CORE_CM_ACTION_NEW', 'copy' => 'TXT_CORE_CM_ACTION_COPY', 'activate' => 'TXT_CORE_CM_ACTION_PUBLISH', 'deactivate' => 'TXT_CORE_CM_ACTION_UNPUBLISH', 'publish' => 'TXT_CORE_CM_ACTION_PUBLISH_DRAFT', 'show' => 'TXT_CORE_CM_ACTION_SHOW', 'hide' => 'TXT_CORE_CM_ACTION_HIDE', 'delete' => 'TXT_CORE_CM_ACTION_DELETE', 'recursiveQuestion' => 'TXT_CORE_CM_RECURSIVE_QUESTION'), 'tooltip' => array('TXT_CORE_CM_LAST_MODIFIED' => 'TXT_CORE_CM_LAST_MODIFIED', 'TXT_CORE_CM_PUBLISHING_INFO_STATUSES' => 'TXT_CORE_CM_PUBLISHING_INFO_STATUSES', 'TXT_CORE_CM_PUBLISHING_INFO_ACTION_ACTIVATE' => 'TXT_CORE_CM_PUBLISHING_INFO_ACTION_ACTIVATE', 'TXT_CORE_CM_PUBLISHING_INFO_ACTION_DEACTIVATE' => 'TXT_CORE_CM_PUBLISHING_INFO_ACTION_DEACTIVATE', 'TXT_CORE_CM_PUBLISHING_DRAFT' => 'TXT_CORE_CM_PUBLISHING_DRAFT', 'TXT_CORE_CM_PUBLISHING_DRAFT_WAITING' => 'TXT_CORE_CM_PUBLISHING_DRAFT_WAITING', 'TXT_CORE_CM_PUBLISHING_LOCKED' => 'TXT_CORE_CM_PUBLISHING_LOCKED', 'TXT_CORE_CM_PUBLISHING_PUBLISHED' => 'TXT_CORE_CM_PUBLISHING_PUBLISHED', 'TXT_CORE_CM_PUBLISHING_UNPUBLISHED' => 'TXT_CORE_CM_PUBLISHING_UNPUBLISHED', 'TXT_CORE_CM_PAGE_INFO_STATUSES' => 'TXT_CORE_CM_PAGE_INFO_STATUSES', 'TXT_CORE_CM_PUBLISHING_INFO_TYPES' => 'TXT_CORE_CM_PUBLISHING_INFO_TYPES', 'TXT_CORE_CM_PAGE_INFO_ACTION_SHOW' => 'TXT_CORE_CM_PAGE_INFO_ACTION_SHOW', 'TXT_CORE_CM_PAGE_INFO_ACTION_HIDE' => 'TXT_CORE_CM_PAGE_INFO_ACTION_HIDE', 'TXT_CORE_CM_PAGE_STATUS_BROKEN' => 'TXT_CORE_CM_PAGE_STATUS_BROKEN', 'TXT_CORE_CM_PAGE_STATUS_VISIBLE' => 'TXT_CORE_CM_PAGE_STATUS_VISIBLE', 'TXT_CORE_CM_PAGE_STATUS_INVISIBLE' => 'TXT_CORE_CM_PAGE_STATUS_INVISIBLE', 'TXT_CORE_CM_PAGE_STATUS_PROTECTED' => 'TXT_CORE_CM_PAGE_STATUS_PROTECTED', 'TXT_CORE_CM_PAGE_TYPE_HOME' => 'TXT_CORE_CM_PAGE_TYPE_HOME', 'TXT_CORE_CM_PAGE_TYPE_CONTENT_SITE' => 'TXT_CORE_CM_PAGE_TYPE_CONTENT_SITE', 'TXT_CORE_CM_PAGE_TYPE_APPLICATION' => 'TXT_CORE_CM_PAGE_TYPE_APPLICATION', 'TXT_CORE_CM_PAGE_TYPE_REDIRECTION' => 'TXT_CORE_CM_PAGE_TYPE_REDIRECTION', 'TXT_CORE_CM_PAGE_TYPE_SYMLINK' => 'TXT_CORE_CM_PAGE_TYPE_SYMLINK', 'TXT_CORE_CM_PAGE_TYPE_FALLBACK' => 'TXT_CORE_CM_PAGE_TYPE_FALLBACK', 'TXT_CORE_CM_PAGE_MOVE_INFO' => 'TXT_CORE_CM_PAGE_MOVE_INFO', 'TXT_CORE_CM_TRANSLATION_INFO' => 'TXT_CORE_CM_TRANSLATION_INFO', 'TXT_CORE_CM_PREVIEW_INFO' => 'TXT_CORE_CM_PREVIEW_INFO')); foreach ($arrLangVars as $subscope => $arrLang) { foreach ($arrLang as $name => $value) { $objCx->setVariable($name, $_CORELANG[$value], 'contentmanager/lang/' . $subscope); } } // Mediabrowser $mediaBrowser = new \Cx\Core_Modules\MediaBrowser\Model\Entity\MediaBrowser(); $mediaBrowser->setOptions(array('type' => 'button')); $mediaBrowser->setCallback('setWebPageUrlCallback'); $mediaBrowser->setOptions(array('data-cx-mb-startview' => 'sitestructure', 'id' => 'page_target_browse')); $this->template->setVariable(array('CM_MEDIABROWSER_BUTTON' => $mediaBrowser->getXHtml($_ARRAYLANG['TXT_CORE_CM_BROWSE']))); $toggleTitles = !empty($_SESSION['contentManager']['toggleStatuses']['toggleTitles']) ? $_SESSION['contentManager']['toggleStatuses']['toggleTitles'] : 'block'; $toggleType = !empty($_SESSION['contentManager']['toggleStatuses']['toggleType']) ? $_SESSION['contentManager']['toggleStatuses']['toggleType'] : 'block'; $toggleNavigation = !empty($_SESSION['contentManager']['toggleStatuses']['toggleNavigation']) ? $_SESSION['contentManager']['toggleStatuses']['toggleNavigation'] : 'block'; $toggleBlocks = !empty($_SESSION['contentManager']['toggleStatuses']['toggleBlocks']) ? $_SESSION['contentManager']['toggleStatuses']['toggleBlocks'] : 'block'; $toggleThemes = !empty($_SESSION['contentManager']['toggleStatuses']['toggleThemes']) ? $_SESSION['contentManager']['toggleStatuses']['toggleThemes'] : 'block'; $toggleApplication = !empty($_SESSION['contentManager']['toggleStatuses']['toggleApplication']) ? $_SESSION['contentManager']['toggleStatuses']['toggleApplication'] : 'block'; $toggleSidebar = !empty($_SESSION['contentManager']['toggleStatuses']['sidebar']) ? $_SESSION['contentManager']['toggleStatuses']['sidebar'] : 'block'; $objCx->setVariable('toggleTitles', $toggleTitles, 'contentmanager/toggle'); $objCx->setVariable('toggleType', $toggleType, 'contentmanager/toggle'); $objCx->setVariable('toggleNavigation', $toggleNavigation, 'contentmanager/toggle'); $objCx->setVariable('toggleBlocks', $toggleBlocks, 'contentmanager/toggle'); $objCx->setVariable('toggleThemes', $toggleThemes, 'contentmanager/toggle'); $objCx->setVariable('toggleApplication', $toggleApplication, 'contentmanager/toggle'); $objCx->setVariable('sidebar', $toggleSidebar, 'contentmanager/toggle'); // get initial tree data $objJsonData = new \Cx\Core\Json\JsonData(); $treeData = $objJsonData->jsondata('node', 'getTree', array('get' => $_GET), false); $objCx->setVariable('tree-data', $treeData, 'contentmanager/tree'); if (!empty($_GET['act']) && $_GET['act'] == 'new') { $this->template->setVariable(array('TITLES_DISPLAY_STYLE' => 'display: block;', 'TITLES_TOGGLE_CLASS' => 'open', 'TYPE_DISPLAY_STYLE' => 'display: block;', 'TYPE_TOGGLE_CLASS' => 'open', 'NAVIGATION_DISPLAY_STYLE' => 'display: block;', 'NAVIGATION_TOGGLE_CLASS' => 'open', 'BLOCKS_DISPLAY_STYLE' => 'display: block;', 'BLOCKS_TOGGLE_CLASS' => 'open', 'THEMES_DISPLAY_STYLE' => 'display: block;', 'THEMES_TOGGLE_CLASS' => 'open', 'APPLICATION_DISPLAY_STYLE' => 'display: block;', 'APPLICATION_TOGGLE_CLASS' => 'open', 'MULTIPLE_ACTIONS_STRIKE_STYLE' => 'display: none;')); } else { $this->template->setVariable(array('TITLES_DISPLAY_STYLE' => $toggleTitles == 'none' ? 'display: none;' : 'display: block;', 'TITLES_TOGGLE_CLASS' => $toggleTitles == 'none' ? 'closed' : 'open', 'TYPE_DISPLAY_STYLE' => $toggleType == 'none' ? 'display: none;' : 'display: block;', 'TYPE_TOGGLE_CLASS' => $toggleType == 'none' ? 'closed' : 'open', 'NAVIGATION_DISPLAY_STYLE' => $toggleNavigation == 'none' ? 'display: none;' : 'display: block;', 'NAVIGATION_TOGGLE_CLASS' => $toggleNavigation == 'none' ? 'closed' : 'open', 'BLOCKS_DISPLAY_STYLE' => $toggleBlocks == 'none' ? 'display: none;' : 'display: block;', 'BLOCKS_TOGGLE_CLASS' => $toggleBlocks == 'none' ? 'closed' : 'open', 'THEMES_DISPLAY_STYLE' => $toggleThemes == 'none' ? 'display: none;' : 'display: block;', 'THEMES_TOGGLE_CLASS' => $toggleThemes == 'none' ? 'closed' : 'open', 'APPLICATION_DISPLAY_STYLE' => $toggleApplication == 'none' ? 'display: none;' : 'display: block;', 'APPLICATION_TOGGLE_CLASS' => $toggleApplication == 'none' ? 'closed' : 'open')); } $modules = $this->db->Execute("SELECT * FROM " . DBPREFIX . "modules WHERE `status` = 'y' ORDER BY `name`"); while (!$modules->EOF) { $this->template->setVariable('MODULE_KEY', $modules->fields['name']); // $this->template->setVariable('MODULE_TITLE', $_CORELANG[$modules->fields['description_variable']]); $this->template->setVariable('MODULE_TITLE', ucwords($modules->fields['name'])); $this->template->parse('module_option'); $modules->MoveNext(); } $newPageFirstLevel = isset($_GET['act']) && $_GET['act'] == 'new'; if (\Permission::checkAccess(36, 'static', true)) { $this->template->touchBlock('page_permissions_tab'); $this->template->touchBlock('page_permissions'); } else { $this->template->hideBlock('page_permissions_tab'); $this->template->hideBlock('page_permissions'); } //show the caching options only if the caching system is actually active if ($_CONFIG['cacheEnabled'] == 'on') { $this->template->touchBlock('show_caching_option'); } else { $this->template->hideBlock('show_caching_option'); } if (\Permission::checkAccess(78, 'static', true)) { $this->template->hideBlock('release_button'); } else { $this->template->hideBlock('publish_button'); $this->template->hideBlock('refuse_button'); } // show no access page if the user wants to create new page in first level but he does not have enough permissions if ($newPageFirstLevel) { \Permission::checkAccess(127, 'static'); } $editViewCssClass = ''; if ($newPageFirstLevel) { $editViewCssClass = 'edit_view'; $this->template->hideBlock('refuse_button'); } $cxjs = \ContrexxJavascript::getInstance(); $cxjs->setVariable('confirmDeleteQuestion', $_ARRAYLANG['TXT_CORE_CM_CONFIRM_DELETE'], 'contentmanager/lang'); $cxjs->setVariable('cleanAccessData', $objJsonData->jsondata('page', 'getAccessData', array(), false), 'contentmanager'); $cxjs->setVariable('contentTemplates', $this->getCustomContentTemplates(), 'contentmanager'); $cxjs->setVariable('defaultTemplates', $this->getDefaultTemplates(), 'contentmanager/themes'); $cxjs->setVariable('templateFolders', $this->getTemplateFolders(), 'contentmanager/themes'); $cxjs->setVariable('availableBlocks', $objJsonData->jsondata('Block', 'getBlocks', array(), false), 'contentmanager'); // TODO: move including of add'l JS dependencies to cx obj from /cadmin/index.html $getLangOptions = $this->getLangOptions(); $statusPageLayout = ''; $languageDisplay = ''; if ((!empty($_GET['act']) && $_GET['act'] == 'new' || !empty($_GET['page'])) && $getLangOptions == "") { $statusPageLayout = 'margin0'; $languageDisplay = 'display:none'; } $this->template->setVariable('ADMIN_LIST_MARGIN', $statusPageLayout); $this->template->setVariable('LANGUAGE_DISPLAY', $languageDisplay); // TODO: move including of add'l JS dependencies to cx obj from /cadmin/index.html $this->template->setVariable('SKIN_OPTIONS', $this->getSkinOptions()); $this->template->setVariable('LANGSWITCH_OPTIONS', $this->getLangOptions()); $this->template->setVariable('LANGUAGE_ARRAY', json_encode($this->getLangArray())); $this->template->setVariable('FALLBACK_ARRAY', json_encode($this->getFallbackArray())); $this->template->setVariable('LANGUAGE_LABELS', json_encode($this->getLangLabels())); $this->template->setVariable('EDIT_VIEW_CSS_CLASS', $editViewCssClass); $this->template->touchBlock('content_manager_language_selection'); $editmodeTemplate = new \Cx\Core\Html\Sigma(ASCMS_CORE_PATH . '/ContentManager/View/Template/Backend'); $editmodeTemplate->loadTemplateFile('content_editmode.html'); $editmodeTemplate->setVariable(array('TXT_EDITMODE_TEXT' => $_CORELANG['TXT_FRONTEND_EDITING_SELECTION_TEXT'], 'TXT_EDITMODE_CODE' => $_CORELANG['TXT_FRONTEND_EDITING_SELECTION_MODE_PAGE'], 'TXT_EDITMODE_CONTENT' => $_CORELANG['TXT_FRONTEND_EDITING_SELECTION_MODE_CONTENT'])); $cxjs->setVariable(array('editmodetitle' => $_CORELANG['TXT_FRONTEND_EDITING_SELECTION_TITLE'], 'editmodecontent' => $editmodeTemplate->get(), 'ckeditorconfigpath' => substr(\Env::get('ClassLoader')->getFilePath(ASCMS_CORE_PATH . '/Wysiwyg/ckeditor.config.js.php'), strlen(ASCMS_DOCUMENT_ROOT) + 1), 'regExpUriProtocol' => \FWValidator::REGEX_URI_PROTO, 'contrexxBaseUrl' => ASCMS_PROTOCOL . '://' . $_CONFIG['domainUrl'] . ASCMS_PATH_OFFSET . '/', 'contrexxPathOffset' => ASCMS_PATH_OFFSET), 'contentmanager'); }
public function getFrameFinishedXHtml() { global $_CORELANG; $tpl = new \Cx\Core\Html\Sigma(ASCMS_CORE_MODULE_PATH . '/Upload/template/uploaders'); $tpl->setErrorHandling(PEAR_ERROR_DIE); $tpl->loadTemplateFile('formFrameFinished.html'); $tpl->setVariable('FINISHED_MESSAGE', htmlentities($_CORELANG['UPLOAD_FINISHED'], ENT_QUOTES, CONTREXX_CHARSET)); return $tpl->get(); }
/** * get crm module placeholders * * @return array */ function getCrmModulePlaceHolders() { global $_ARRAYLANG; $objTemplate = new \Cx\Core\Html\Sigma(\Cx\Core\Core\Controller\Cx::instanciate()->getCodeBaseModulePath() . '/' . $this->moduleName . '/View/Template/Backend'); $objTemplate->setErrorHandling(PEAR_ERROR_DIE); if (!$objTemplate->loadTemplateFile('module_' . $this->moduleNameLC . '_settings_placeholders.html')) { die("Failed to load template 'module_'.{$this->moduleNameLC}.'_settings_placeholders.html'"); } $objTemplate->setVariable(array('TXT_CRM_PLACEHOLDERS' => $_ARRAYLANG['TXT_CRM_PLACEHOLDERS'], 'TXT_CRM_GENERAL' => $_ARRAYLANG['TXT_CRM_GENERAL'], 'TXT_CRM_MAIL_TEMPLATE_ONE' => CRM_EVENT_ON_ACCOUNT_UPDATED, 'TXT_CRM_MAIL_TEMPLATE_TWO' => CRM_EVENT_ON_USER_ACCOUNT_CREATED, 'TXT_CRM_MAIL_TEMPLATE_THREE' => CRM_EVENT_ON_TASK_CREATED, 'TXT_CRM_ASSIGNED_USER_EMAIL' => $_ARRAYLANG['TXT_CRM_ASSIGNED_USER_EMAIL'], 'TXT_CRM_ASSIGNED_USER_NAME' => $_ARRAYLANG['TXT_CRM_ASSIGNED_USER_NAME'], 'TXT_CRM_CONTACT_DETAILS_LINK' => $_ARRAYLANG['TXT_CRM_CONTACT_DETAILS_LINK'], 'TXT_CRM_CONTACT_DETAILS_URL' => $_ARRAYLANG['TXT_CRM_CONTACT_DETAILS_URL'], 'TXT_CRM_TASK_NAME' => $_ARRAYLANG['TXT_CRM_TASK_NAME'], 'TXT_CRM_DOMAIN' => $_ARRAYLANG['TXT_CRM_DOMAIN'], 'TXT_CRM_TASK_LINK' => $_ARRAYLANG['TXT_CRM_TASK_LINK'], 'TXT_CRM_TASK_LINK_SOURCE' => $_ARRAYLANG['TXT_CRM_TASK_LINK_SOURCE'], 'TXT_CRM_TASK_DUE_DATE' => $_ARRAYLANG['TXT_CRM_TASK_DUE_DATE'], 'TXT_CRM_TASK_CREATED_USER' => $_ARRAYLANG['TXT_CRM_TASK_CREATED_USER'], 'TXT_CRM_TASK_DESCRIPTION_TEXT_VERSION' => $_ARRAYLANG['TXT_CRM_TASK_DESCRIPTION_TEXT_VERSION'], 'TXT_CRM_TASK_DESCRIPTION_HTML_VERSION' => $_ARRAYLANG['TXT_CRM_TASK_DESCRIPTION_HTML_VERSION'], 'TXT_CRM_CONTACT_FIRSTNAME' => $_ARRAYLANG['TXT_CRM_CONTACT_FIRSTNAME'], 'TXT_CRM_CONTACT_LASTNAME' => $_ARRAYLANG['TXT_CRM_CONTACT_LASTNAME'], 'TXT_CRM_CONTACT_SALUTATION' => $_ARRAYLANG['TXT_CRM_CONTACT_SALUTATION'], 'TXT_CRM_CONTACT_GENDER' => $_ARRAYLANG['TXT_CRM_CONTACT_GENDER'], 'TXT_CRM_CUSTOMER_CONTACT_EMAIL' => $_ARRAYLANG['TXT_CRM_CUSTOMER_CONTACT_EMAIL'], 'TXT_CRM_CUSTOMER_COMPANY' => $_ARRAYLANG['TXT_CRM_CUSTOMER_COMPANY'], 'TXT_CRM_CUSTOMER_CONTACT_USER_NAME' => $_ARRAYLANG['TXT_CRM_CUSTOMER_CONTACT_USER_NAME'], 'TXT_CRM_CUSTOMER_CONTACT_PASSWORD' => $_ARRAYLANG['TXT_CRM_CUSTOMER_CONTACT_PASSWORD'], 'TXT_CRM_CONTACT_KEY' => $_ARRAYLANG['TXT_CRM_CONTACT_KEY'])); return $objTemplate->get(); }
/** * Add the necessary divs for the inline editing around the content and around the title * * @param \Cx\Core\ContentManager\Model\Entity\Page $page */ public function preContentLoad(\Cx\Core\ContentManager\Model\Entity\Page $page) { // Is frontend editing active? if (!$this->frontendEditingIsActive() || !$this->userHasPermissionToEditPage()) { return; } $componentTemplate = new \Cx\Core\Html\Sigma(ASCMS_CORE_MODULE_PATH . '/' . $this->getName() . '/View/Template/Generic'); $componentTemplate->setErrorHandling(PEAR_ERROR_DIE); // add div around content // not used at the moment, because we have no proper way to "not parse" blocks in content and // it should only print a div around the content without parsing the content at this time // $componentTemplate->loadTemplateFile('ContentDiv.html'); // $componentTemplate->setVariable('CONTENT', $page->getContent()); // $page->setContent($componentTemplate->get()); $page->setContent('<div id="fe_content">' . $page->getContent() . '</div>'); // add div around the title $componentTemplate->loadTemplateFile('TitleDiv.html'); $componentTemplate->setVariable('TITLE', $page->getContentTitle()); $page->setContentTitle($componentTemplate->get()); }
/** * Set up the detail view of the selected order * @access public * @param \Cx\Core\Html\Sigma $objTemplate The Template, by reference * @param boolean $edit Edit if true, view otherwise * @global ADONewConnection $objDatabase Database connection object * @global array $_ARRAYLANG Language array * @return boolean True on success, * false otherwise * @static * @author Reto Kohli <*****@*****.**> (parts) * @version 3.1.0 */ static function view_detail(&$objTemplate = null, $edit = false) { global $objDatabase, $_ARRAYLANG, $objInit; $backend = $objInit->mode == 'backend'; if ($objTemplate->blockExists('order_list')) { $objTemplate->hideBlock('order_list'); } $have_option = false; // The order total -- in the currency chosen by the customer $order_sum = 0; // recalculated VAT total $total_vat_amount = 0; $order_id = intval($_REQUEST['order_id']); if (!$order_id) { return \Message::error($_ARRAYLANG['TXT_SHOP_ORDER_ERROR_INVALID_ORDER_ID']); } if (!$objTemplate) { $template_name = $edit ? 'module_shop_order_edit.html' : 'module_shop_order_details.html'; $objTemplate = new \Cx\Core\Html\Sigma(\Cx\Core\Core\Controller\Cx::instanciate()->getCodeBaseModulePath() . '/Shop/View/Template/Backend'); //DBG::log("Orders::view_list(): new Template: ".$objTemplate->get()); $objTemplate->loadTemplateFile($template_name); //DBG::log("Orders::view_list(): loaded Template: ".$objTemplate->get()); } $objOrder = Order::getById($order_id); if (!$objOrder) { //DBG::log("Shop::shopShowOrderdetails(): Failed to find Order ID $order_id"); return \Message::error(sprintf($_ARRAYLANG['TXT_SHOP_ORDER_NOT_FOUND'], $order_id)); } // lsv data $query = "\n SELECT `holder`, `bank`, `blz`\n FROM " . DBPREFIX . "module_shop" . MODULE_INDEX . "_lsv\n WHERE order_id={$order_id}"; $objResult = $objDatabase->Execute($query); if (!$objResult) { return self::errorHandler(); } if ($objResult->RecordCount() == 1) { $objTemplate->setVariable(array('SHOP_ACCOUNT_HOLDER' => contrexx_raw2xhtml($objResult->fields['holder']), 'SHOP_ACCOUNT_BANK' => contrexx_raw2xhtml($objResult->fields['bank']), 'SHOP_ACCOUNT_BLZ' => contrexx_raw2xhtml($objResult->fields['blz']))); } $customer_id = $objOrder->customer_id(); if (!$customer_id) { //DBG::log("Shop::shopShowOrderdetails(): Invalid Customer ID $customer_id"); \Message::error(sprintf($_ARRAYLANG['TXT_SHOP_INVALID_CUSTOMER_ID'], $customer_id)); } $objCustomer = Customer::getById($customer_id); if (!$objCustomer) { //DBG::log("Shop::shopShowOrderdetails(): Failed to find Customer ID $customer_id"); \Message::error(sprintf($_ARRAYLANG['TXT_SHOP_CUSTOMER_NOT_FOUND'], $customer_id)); $objCustomer = new Customer(); // No editing allowed! $have_option = true; } Vat::is_reseller($objCustomer->is_reseller()); Vat::is_home_country(\Cx\Core\Setting\Controller\Setting::getValue('country_id', 'Shop') == $objOrder->country_id()); $objTemplate->setGlobalVariable($_ARRAYLANG + array('SHOP_CURRENCY' => Currency::getCurrencySymbolById($objOrder->currency_id()))); //DBG::log("Order sum: ".Currency::formatPrice($objOrder->sum())); $objTemplate->setVariable(array('SHOP_CUSTOMER_ID' => $customer_id, 'SHOP_ORDERID' => $order_id, 'SHOP_DATE' => date(ASCMS_DATE_FORMAT_INTERNATIONAL_DATETIME, strtotime($objOrder->date_time())), 'SHOP_ORDER_STATUS' => $edit ? Orders::getStatusMenu($objOrder->status(), false, null, 'swapSendToStatus(this.value)') : $_ARRAYLANG['TXT_SHOP_ORDER_STATUS_' . $objOrder->status()], 'SHOP_SEND_MAIL_STYLE' => $objOrder->status() == Order::STATUS_CONFIRMED ? 'display: inline;' : 'display: none;', 'SHOP_SEND_MAIL_STATUS' => $edit ? $objOrder->status() != Order::STATUS_CONFIRMED ? \Html::ATTRIBUTE_CHECKED : '' : '', 'SHOP_ORDER_SUM' => Currency::formatPrice($objOrder->sum()), 'SHOP_DEFAULT_CURRENCY' => Currency::getDefaultCurrencySymbol(), 'SHOP_GENDER' => $edit ? Customer::getGenderMenu($objOrder->billing_gender(), 'billing_gender') : $_ARRAYLANG['TXT_SHOP_' . strtoupper($objOrder->billing_gender())], 'SHOP_COMPANY' => $objOrder->billing_company(), 'SHOP_FIRSTNAME' => $objOrder->billing_firstname(), 'SHOP_LASTNAME' => $objOrder->billing_lastname(), 'SHOP_ADDRESS' => $objOrder->billing_address(), 'SHOP_ZIP' => $objOrder->billing_zip(), 'SHOP_CITY' => $objOrder->billing_city(), 'SHOP_COUNTRY' => $edit ? \Cx\Core\Country\Controller\Country::getMenu('billing_country_id', $objOrder->billing_country_id()) : \Cx\Core\Country\Controller\Country::getNameById($objOrder->billing_country_id()), 'SHOP_PHONE' => $objOrder->billing_phone(), 'SHOP_FAX' => $objOrder->billing_fax(), 'SHOP_EMAIL' => $objOrder->billing_email(), 'SHOP_SHIP_GENDER' => $edit ? Customer::getGenderMenu($objOrder->gender(), 'shipPrefix') : $_ARRAYLANG['TXT_SHOP_' . strtoupper($objOrder->gender())], 'SHOP_SHIP_COMPANY' => $objOrder->company(), 'SHOP_SHIP_FIRSTNAME' => $objOrder->firstname(), 'SHOP_SHIP_LASTNAME' => $objOrder->lastname(), 'SHOP_SHIP_ADDRESS' => $objOrder->address(), 'SHOP_SHIP_ZIP' => $objOrder->zip(), 'SHOP_SHIP_CITY' => $objOrder->city(), 'SHOP_SHIP_COUNTRY' => $edit ? \Cx\Core\Country\Controller\Country::getMenu('shipCountry', $objOrder->country_id()) : \Cx\Core\Country\Controller\Country::getNameById($objOrder->country_id()), 'SHOP_SHIP_PHONE' => $objOrder->phone(), 'SHOP_PAYMENTTYPE' => Payment::getProperty($objOrder->payment_id(), 'name'), 'SHOP_CUSTOMER_NOTE' => $objOrder->note(), 'SHOP_COMPANY_NOTE' => $objCustomer->companynote(), 'SHOP_SHIPPING_TYPE' => $objOrder->shipment_id() ? Shipment::getShipperName($objOrder->shipment_id()) : ' ')); if ($backend) { $objTemplate->setVariable(array('SHOP_CUSTOMER_IP' => $objOrder->ip() ? '<a href="index.php?cmd=NetTools&tpl=whois&address=' . $objOrder->ip() . '" title="' . $_ARRAYLANG['TXT_SHOW_DETAILS'] . '">' . $objOrder->ip() . '</a>' : ' ', 'SHOP_CUSTOMER_HOST' => $objOrder->host() ? '<a href="index.php?cmd=NetTools&tpl=whois&address=' . $objOrder->host() . '" title="' . $_ARRAYLANG['TXT_SHOW_DETAILS'] . '">' . $objOrder->host() . '</a>' : ' ', 'SHOP_CUSTOMER_LANG' => \FWLanguage::getLanguageParameter($objOrder->lang_id(), 'name'), 'SHOP_CUSTOMER_BROWSER' => $objOrder->browser() ? $objOrder->browser() : ' ', 'SHOP_LAST_MODIFIED' => $objOrder->modified_on() && $objOrder->modified_on() != '0000-00-00 00:00:00' ? $objOrder->modified_on() . ' ' . $_ARRAYLANG['TXT_EDITED_BY'] . ' ' . $objOrder->modified_by() : $_ARRAYLANG['TXT_ORDER_WASNT_YET_EDITED'])); } else { // Frontend: Order history ONLY. Repeat the Order, go to cart $objTemplate->setVariable(array('SHOP_ACTION_URI_ENCODED' => \Cx\Core\Routing\Url::fromModuleAndCmd('Shop', 'cart'))); } $ppName = ''; $psp_id = Payment::getPaymentProcessorId($objOrder->payment_id()); if ($psp_id) { $ppName = PaymentProcessing::getPaymentProcessorName($psp_id); } $objTemplate->setVariable(array('SHOP_SHIPPING_PRICE' => $objOrder->shipment_amount(), 'SHOP_PAYMENT_PRICE' => $objOrder->payment_amount(), 'SHOP_PAYMENT_HANDLER' => $ppName, 'SHOP_LAST_MODIFIED_DATE' => $objOrder->modified_on())); if ($edit) { // edit order $strJsArrShipment = Shipment::getJSArrays(); $objTemplate->setVariable(array('SHOP_SEND_TEMPLATE_TO_CUSTOMER' => sprintf($_ARRAYLANG['TXT_SEND_TEMPLATE_TO_CUSTOMER'], $_ARRAYLANG['TXT_ORDER_COMPLETE']), 'SHOP_SHIPPING_TYP_MENU' => Shipment::getShipperMenu($objOrder->country_id(), $objOrder->shipment_id(), "calcPrice(0);"), 'SHOP_JS_ARR_SHIPMENT' => $strJsArrShipment, 'SHOP_PRODUCT_IDS_MENU_NEW' => Products::getMenuoptions(null, null, $_ARRAYLANG['TXT_SHOP_PRODUCT_MENU_FORMAT']), 'SHOP_JS_ARR_PRODUCT' => Products::getJavascriptArray($objCustomer->group_id(), $objCustomer->is_reseller()))); } $options = $objOrder->getOptionArray(); if (!empty($options[$order_id])) { $have_option = true; } // Order items $total_weight = $i = 0; $total_net_price = $objOrder->view_items($objTemplate, $edit, $total_weight, $i); // Show VAT with the individual products: // If VAT is enabled, and we're both in the same country // ($total_vat_amount has been set above if both conditions are met) // show the VAT rate. // If there is no VAT, the amount is 0 (zero). //if ($total_vat_amount) { // distinguish between included VAT, and additional VAT added to sum $tax_part_percentaged = Vat::isIncluded() ? $_ARRAYLANG['TXT_TAX_PREFIX_INCL'] : $_ARRAYLANG['TXT_TAX_PREFIX_EXCL']; $objTemplate->setVariable(array('SHOP_TAX_PRICE' => Currency::formatPrice($total_vat_amount), 'SHOP_PART_TAX_PROCENTUAL' => $tax_part_percentaged)); //} else { // No VAT otherwise // remove it from the details overview if empty //$objTemplate->hideBlock('taxprice'); //$tax_part_percentaged = $_ARRAYLANG['TXT_NO_TAX']; //} // Parse Coupon if applicable to this product // Coupon $objCoupon = Coupon::getByOrderId($order_id); if ($objCoupon) { $discount = $objCoupon->discount_amount() != 0 ? $objCoupon->discount_amount() : $total_net_price / 100 * $objCoupon->discount_rate(); $objTemplate->setVariable(array('SHOP_COUPON_NAME' => $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_CODE'], 'SHOP_COUPON_CODE' => $objCoupon->code(), 'SHOP_COUPON_AMOUNT' => Currency::formatPrice(-$discount))); $total_net_price -= $discount; //DBG::log("Order::view_detail(): Coupon: ".var_export($objCoupon, true)); } $objTemplate->setVariable(array('SHOP_ROWCLASS_NEW' => 'row' . (++$i % 2 + 1), 'SHOP_TOTAL_WEIGHT' => Weight::getWeightString($total_weight), 'SHOP_NET_PRICE' => Currency::formatPrice($total_net_price))); $objTemplate->setVariable(array('TXT_PRODUCT_ID' => $_ARRAYLANG['TXT_ID'], 'TXT_TAX_RATE' => Vat::isIncluded() ? $_ARRAYLANG['TXT_TAX_PREFIX_INCL'] : $_ARRAYLANG['TXT_TAX_PREFIX_EXCL'], 'TXT_SHOP_ACCOUNT_VALIDITY' => $_ARRAYLANG['TXT_SHOP_VALIDITY'])); // Disable the "edit" button when there are Attributes if ($backend && !$edit) { if ($have_option) { if ($objTemplate->blockExists('order_no_edit')) { $objTemplate->touchBlock('order_no_edit'); } } else { if ($objTemplate->blockExists('order_edit')) { $objTemplate->touchBlock('order_edit'); } } } return true; }
/** * Get available placeholders in newsletter notification mails * * @return string Newsletter placehodlers list */ public function getNewsletterPlaceHoldersList() { global $_ARRAYLANG; $objTemplate = new \Cx\Core\Html\Sigma(\Cx\Core\Core\Controller\Cx::instanciate()->getCodeBaseModulePath() . '/Newsletter/View/Template/Backend'); $objTemplate->setErrorHandling(PEAR_ERROR_DIE); $objTemplate->loadTemplateFile('module_newsletter_config_placeholders.html'); $objTemplate->setVariable(array('TXT_NEWSLETTER_PLACEHOLDERS' => $_ARRAYLANG['TXT_NEWSLETTER_PLACEHOLDERS'], 'TXT_NEWSLETTER_GENERAL' => $_ARRAYLANG['TXT_NEWSLETTER_GENERAL'], 'TXT_NEWSLETTER_USER_TITLE' => $_ARRAYLANG['TXT_TITLE'], 'TXT_NEWSLETTER_USER_SEX' => $_ARRAYLANG['TXT_NEWSLETTER_SEX'], 'TXT_NEWSLETTER_USER_FIRSTNAME' => $_ARRAYLANG['TXT_FIRSTNAME'], 'TXT_NEWSLETTER_USER_LASTNAME' => $_ARRAYLANG['TXT_LASTNAME'], 'TXT_NEWSLETTER_USER_EMAIL' => $_ARRAYLANG['TXT_EMAIL'], 'TXT_NEWSLETTER_DOMAIN_URL' => $_ARRAYLANG['TXT_NEWSLETTER_URL'], 'TXT_NEWSLETTER_CURRENT_DATE' => $_ARRAYLANG['TXT_DATE'], 'TXT_NEWSLETTER_CONFIRM_CODE' => $_ARRAYLANG['TXT_NEWSLETTER_CONFIRM_CODE'], 'TXT_NEWSLETTER_NOTIFICATION_ACTION' => $_ARRAYLANG['TXT_NEWSLETTER_NOTIFICATION_ACTION'], 'TXT_NEWSLETTER_SUBJECT' => $_ARRAYLANG['TXT_NEWSLETTER_SUBJECT'], 'TXT_NEWSLETTER_USER_EDIT_LINK' => $_ARRAYLANG['TXT_NEWSLETTER_USER_EDIT_LINK'])); return $objTemplate->get(); }
/** * This function finds out what we want to render and then renders the form * * @param boolean $isSingle if we only render one entry * @access public * @return string rendered view */ public function render(&$isSingle = false) { global $_ARRAYLANG; // this case is used to generate the add entry form, where we can create an new entry if (!empty($_GET['add']) && !empty($this->options['functions']['add'])) { $isSingle = true; return $this->renderFormForEntry(null); } $renderObject = $this->object; $entityId = $this->getEntryId(); // this case is used to get the right entry if we edit a existing one if ($this->object instanceof \Cx\Core_Modules\Listing\Model\Entity\DataSet && $entityId != 0) { if ($this->object->entryExists($entityId)) { $renderObject = $this->object->getEntry($entityId); } } // this case is used for the overview off all entities if ($renderObject instanceof \Cx\Core_Modules\Listing\Model\Entity\DataSet) { if (!empty($this->options['order']['overview'])) { $renderObject->sortColumns($this->options['order']['overview']); } $addBtn = ''; $actionUrl = clone \Env::get('cx')->getRequest()->getUrl(); if (!empty($this->options['functions']['add'])) { $actionUrl->setParam('add', 1); //remove the parameter 'vg_increment_number' from actionUrl //if the baseUrl contains the parameter 'vg_increment_number' $params = $actionUrl->getParamArray(); if (isset($params['vg_increment_number'])) { \Html::stripUriParam($actionUrl, 'vg_increment_number'); } $addBtn = '<br /><br /><input type="button" name="addEtity" value="' . $_ARRAYLANG['TXT_ADD'] . '" onclick="location.href=' . "'" . $actionUrl . "&csrf=" . \Cx\Core\Csrf\Controller\Csrf::code() . "'" . '" />'; } if (!count($renderObject) || !count(current($renderObject))) { // make this configurable $tpl = new \Cx\Core\Html\Sigma(\Env::get('cx')->getCodeBaseCorePath() . '/Html/View/Template/Generic'); $tpl->loadTemplateFile('NoEntries.html'); return $tpl->get() . $addBtn; } $listingController = new \Cx\Core_Modules\Listing\Controller\ListingController($renderObject, array(), $this->options['functions']); $renderObject = $listingController->getData(); $this->options['functions']['vg_increment_number'] = $this->viewId; $backendTable = new \BackendTable($renderObject, $this->options) . '<br />' . $listingController; return $backendTable . $addBtn; } // render form for single entry view like editEntry $isSingle = true; return $this->renderFormForEntry($entityId); }
/** * Set the registration list place holder to the template * * @param object $objTpl Template object * @param string tpl Template type * * @return null */ function showRegistrationList($objTpl, $tpl) { global $objDatabase, $_LANGID, $_ARRAYLANG; $objResult = $objDatabase->Execute('SELECT count(DISTINCT `field_id`) AS `count_form_fields` FROM `' . DBPREFIX . 'module_' . $this->moduleTablePrefix . '_registration_form_field_name` WHERE `form_id` = ' . $this->formId); $objTpl->setVariable($this->moduleLangVar . '_COUNT_FORM_FIELDS', $objResult->fields['count_form_fields'] + 4); $query = ' SELECT `formField`.`id`, ( SELECT `fieldName`.`name` FROM `' . DBPREFIX . 'module_' . $this->moduleTablePrefix . '_registration_form_field_name` AS `fieldName` WHERE `fieldName`.`field_id` = `formField`.`id` AND `fieldName`.`form_id` = `formField`.`form` ORDER BY CASE `fieldName`.`lang_id` WHEN ' . $_LANGID . ' THEN 1 ELSE 2 END LIMIT 1 ) AS `name`, ( SELECT `fieldDefault`.`default` FROM `' . DBPREFIX . 'module_' . $this->moduleTablePrefix . '_registration_form_field_name` AS `fieldDefault` WHERE `fieldDefault`.`field_id` = `formField`.`id` AND `fieldDefault`.`form_id` = `formField`.`form` ORDER BY CASE `fieldDefault`.`lang_id` WHEN ' . $_LANGID . ' THEN 1 ELSE 2 END LIMIT 1 ) AS `default`, `formField`.`type` FROM `' . DBPREFIX . 'module_' . $this->moduleTablePrefix . '_registration_form_field` AS `formField` WHERE `formField`.`form` = ' . $this->formId . ' ORDER BY `formField`.`order` '; $objResult = $objDatabase->Execute($query); if ($objResult !== false) { $objTpl->setVariable($this->moduleLangVar . '_REGISTRATION_NAME', '#'); $objTpl->parse('eventRegistrationName'); $dateFilterTpl = new \Cx\Core\Html\Sigma(\Cx\Core\Core\Controller\Cx::instanciate()->getCodeBaseModulePath() . '/' . $this->moduleName . '/View/Template/Backend'); $dateFilterTpl->loadTemplateFile('module_calendar_registration_date_filter.html'); $dateFilterTpl->setVariable('TXT_CALENDAR_DATE', $_ARRAYLANG['TXT_CALENDAR_DATE']); $eventStats = $this->getEventStats(); $selectedDateFilter = $this->defaultView && isset($_GET['date']) ? contrexx_input2raw($_GET['date']) : ''; $this->parseEventRegistrationStats($dateFilterTpl, $eventStats, $selectedDateFilter); $objTpl->setVariable($this->moduleLangVar . '_REGISTRATION_NAME', $dateFilterTpl->get()); $objTpl->parse('eventRegistrationName'); //display the registration submission date header $objTpl->setVariable($this->moduleLangVar . '_REGISTRATION_NAME', $_ARRAYLANG['TXT_CALENDAR_EVENT_REGISTRATION_SUBMISSION']); $objTpl->parse('eventRegistrationName'); $arrFieldColumns = array(); $arrDefaults = array(); while (!$objResult->EOF) { if (!in_array($objResult->fields['type'], array('agb', 'fieldset'))) { $arrFieldColumns[] = $objResult->fields['id']; $arrDefaults[$objResult->fields['id']] = !empty($objResult->fields['default']) ? explode(',', $objResult->fields['default']) : array(); $objTpl->setVariable($this->moduleLangVar . '_REGISTRATION_NAME', contrexx_raw2xhtml($objResult->fields['name'])); $objTpl->parse('eventRegistrationName'); } $objResult->MoveNext(); } //$objTpl->setVariable($this->moduleLangVar.'_REGISTRATION_NAME', $_ARRAYLANG['TXT_CALENDAR_PAYMENT_METHOD']); $objTpl->setVariable(array($this->moduleLangVar . '_REGISTRATION_NAME' => $_ARRAYLANG['TXT_CALENDAR_ACTION'], $this->moduleLangVar . '_REG_COL_ATTRIBUTES' => "style='text-align:right;'")); $objTpl->parse('eventRegistrationName'); } $query = ' SELECT `v`.`reg_id`, `v`.`field_id`, `v`.`value`, `f`.`type` FROM `' . DBPREFIX . 'module_' . $this->moduleTablePrefix . '_registration_form_field_value` AS `v` INNER JOIN `' . DBPREFIX . 'module_' . $this->moduleTablePrefix . '_registration_form_field` AS `f` ON `v`.`field_id` = `f`.`id` WHERE `f`.`form` = ' . $this->formId . ' ORDER BY `f`.`order` '; $objResult = $objDatabase->Execute($query); $arrValues = array(); if ($objResult !== false) { while (!$objResult->EOF) { if (!in_array($objResult->fields['type'], array('agb', 'fieldset'))) { $options = $arrDefaults[$objResult->fields['field_id']]; $value = ''; switch ($objResult->fields['type']) { case 'firstname': case 'lastname': case 'inputtext': case 'textarea': case 'mail': // case 'selectBillingAddress': $value = $objResult->fields['value']; break; case 'salutation': case 'seating': case 'select': $value = $options[$objResult->fields['value'] - 1]; break; case 'radio': case 'checkbox': $output = array(); $input = ''; foreach (explode(',', $objResult->fields['value']) as $value) { $arrValue = explode('[[', $value); $value = $arrValue[0]; $input = str_replace(']]', '', $arrValue[1]); $newOptions = explode('[[', $options[$value - 1]); if (!empty($input)) { $output[] = $newOptions[0] . ": " . $input; } else { if ($newOptions[0] == '') { $newOptions[0] = $value == 1 ? $_ARRAYLANG['TXT_CALENDAR_YES'] : $_ARRAYLANG['TXT_CALENDAR_NO']; } $output[] = $newOptions[0]; } $value = implode(", ", $output); } break; } $arrValues[$objResult->fields['reg_id']][$objResult->fields['field_id']] = $value; } $objResult->MoveNext(); } } $i = 0; //$paymentMethods = explode(',', $_ARRAYLANG["TXT_PAYMENT_METHODS"]); if (empty($this->registrationList)) { $objTpl->touchBlock("emptyEventRegistrationList"); } else { $objTpl->hideBlock("emptyEventRegistrationList"); } foreach ($this->registrationList as $objRegistration) { $checkbox = '<input type="checkbox" name="selectedRegistrationId[]" class="selectedRegistrationId" value="' . $objRegistration->id . '" />'; $objTpl->setVariable($this->moduleLangVar . '_REGISTRATION_VALUE', $checkbox); $objTpl->parse('eventRegistrationValue'); $objTpl->setVariable($this->moduleLangVar . '_REGISTRATION_VALUE', date("d.m.Y", $objRegistration->eventDate)); $objTpl->parse('eventRegistrationValue'); //display the registration submission date value $objTpl->setVariable($this->moduleLangVar . '_REGISTRATION_VALUE', $objRegistration->submissionDate instanceof \DateTime ? $this->format2userDateTime($objRegistration->submissionDate) : ''); $objTpl->parse('eventRegistrationValue'); foreach ($arrFieldColumns as $fieldId) { $objTpl->setVariable($this->moduleLangVar . '_REGISTRATION_VALUE', isset($arrValues[$objRegistration->id][$fieldId]) ? contrexx_raw2xhtml($arrValues[$objRegistration->id][$fieldId]) : ''); $objTpl->parse('eventRegistrationValue'); } /*unset($paymentMethod); switch ($objRegistration->paymentMethod) { case 1: $paymentMethod = $paymentMethods[1]; break; case 2: $paymentMethod = $paymentMethods[2]; break; default: $paymentMethod = $paymentMethods[0]; break; }*/ //$objTpl->setVariable($this->moduleLangVar.'_REGISTRATION_VALUE', $paymentMethod . " (" . ($objRegistration->paid ? $_ARRAYLANG["TXT_PAYMENT_COMPLETED"] : $_ARRAYLANG["TXT_PAYMENT_INCOMPLETED"]) . ")"); //$objTpl->parse('eventRegistrationValue'); $links = ' <a style="float: right;" class="delete_registration" href="index.php?cmd=' . $this->moduleName . '&act=event_registrations&tpl=' . $tpl . '&id=' . $this->eventId . '&delete=' . $objRegistration->id . '" title="' . $_ARRAYLANG['TXT_CALENDAR_DELETE'] . '"><img src="../core/Core/View/Media/icons/delete.gif" width="17" height="17" border="0" alt="' . $_ARRAYLANG['TXT_CALENDAR_DELETE'] . '" /></a> <a style="float: right;" href="index.php?cmd=' . $this->moduleName . '&act=modify_registration&tpl=' . $tpl . '&event_id=' . $this->eventId . '&reg_id=' . $objRegistration->id . '" title="' . $_ARRAYLANG['TXT_CALENDAR_EDIT'] . '"><img src="../core/Core/View/Media/icons/edit.gif" width="16" height="16" border="0" alt="' . $_ARRAYLANG['TXT_CALENDAR_EDIT'] . '" /></a> '; $objTpl->setVariable($this->moduleLangVar . '_REGISTRATION_VALUE', $links); $objTpl->parse('eventRegistrationValue'); $objTpl->setVariable($this->moduleLangVar . '_REGISTRATION_ROW', $i % 2 == 0 ? 'row1' : 'row2'); $objTpl->parse('eventRegistrationList'); $i++; } }
/** * Returns the table structure as HTML * Override in order to use Sigma for parsing * @access public * @return string */ function toHtml() { $this->altRowAttributes(2, array('class' => 'row1'), array('class' => 'row2'), true); $strHtml = ''; $tabs = $this->_getTabs(); $tab = $this->_getTab(); $lnEnd = $this->_getLineEnd(); $tBodyColCounts = array(); for ($i = 0; $i < $this->_tbodyCount; $i++) { $tBodyColCounts[] = $this->_tbodies[$i]->getColCount(); } $tBodyMaxColCount = 0; if (count($tBodyColCounts) > 0) { $tBodyMaxColCount = max($tBodyColCounts); } if ($this->_comment) { $strHtml .= $tabs . "<!-- {$this->_comment} -->" . $lnEnd; } $template = new \Cx\Core\Html\Sigma(ASCMS_CORE_PATH . '/Html/View/Template/Generic/'); $template->loadTemplateFile('Table.html'); if ($this->getRowCount() > 0 && $tBodyMaxColCount > 0) { $template->setVariable('TABLE_ATTRIBUTES', $this->_getAttrString($this->_attributes)); if (!empty($this->_caption)) { $attr = $this->_caption['attr']; $contents = $this->_caption['contents']; if (is_array($contents)) { $contents = implode(', ', $contents); } $template->setVariable(array('CAPTION_ATTRIBUTES' => $this->_getAttrString($attr), 'CAPTION_CONTENTS' => $contents)); $template->parse('caption'); } if (!empty($this->_colgroup)) { foreach ($this->_colgroup as $g => $col) { $attr = $this->_colgroup[$g]['attr']; $contents = $this->_colgroup[$g]['contents']; $template->setVariable(array('COLGROUP_ATTRIBUTES' => $this->_getAttrString($attr))); if (!empty($contents)) { $strHtml .= $lnEnd; if (!is_array($contents)) { $contents = array($contents); } foreach ($contents as $a => $colAttr) { $attr = $this->_parseAttributes($colAttr); $template->setVariable(array('COL_ATTRIBUTES' => $this->_getAttrString($attr))); $template->parse('col'); } } $template->parse('colgroup'); } } if ($this->_useTGroups) { $tHeadColCount = 0; if ($this->_thead !== null) { $tHeadColCount = $this->_thead->getColCount(); } $tFootColCount = 0; if ($this->_tfoot !== null) { $tFootColCount = $this->_tfoot->getColCount(); } $maxColCount = max($tHeadColCount, $tFootColCount, $tBodyMaxColCount); if ($this->_thead !== null) { $this->_thead->setColCount($maxColCount); if ($this->_thead->getRowCount() > 0) { $template->setVariable(array('THEAD_ATTRIBUTES' => $this->_getAttrString($this->_thead->_attributes))); $this->parseStorage($template, $this->_thead); $template->touchBlock('thead_close'); } } if ($this->_tfoot !== null) { $this->_tfoot->setColCount($maxColCount); if ($this->_tfoot->getRowCount() > 0) { $template->setVariable(array('TFOOT_ATTRIBUTES' => $this->_getAttrString($this->_tfoot->_attributes))); $this->parseStorage($template, $this->_tfoot); $template->touchBlock('tfoot_close'); } } for ($i = 0; $i < $this->_tbodyCount; $i++) { $this->_tbodies[$i]->setColCount($maxColCount); if ($this->_tbodies[$i]->getRowCount() > 0) { $template->setVariable(array('TBODY_ATTRIBUTES' => $this->_getAttrString($this->_tbodies[$i]->_attributes))); $this->parseStorage($template, $this->_tbodies[$i]); $template->touchBlock('tbody_close'); } } } else { for ($i = 0; $i < $this->_tbodyCount; $i++) { $this->parseStorage($template, $this->_tbodies[$i]); } } } return $template->get(); }
/** * Sets up the Country settings page * @return string The page content */ static function settings() { global $_CORELANG; $objTemplateCountry = new \Cx\Core\Html\Sigma(\Env::get('cx')->getCodeBaseCorePath() . '/Country/View/Template/Generic'); $objTemplateCountry->loadTemplateFile('Overview.html'); // Adds messages self::storeSettings(); self::storeFromPost(); $uri = \Html::getRelativeUri(); // Let all links in this tab point here again \Html::replaceUriParameter($uri, 'active_tab=' . \Cx\Core\Setting\Controller\Setting::tab_index()); // Create a copy of the URI for the Paging, as this is passed by // reference and modified $uri_paging = $uri; //DBG::log("URI: $uri"); $objSorting = new Sorting($uri, array('id' => $_CORELANG['TXT_CORE_COUNTRY_ID'], 'active' => $_CORELANG['TXT_CORE_COUNTRY_ACTIVE'], 'ord' => $_CORELANG['TXT_CORE_COUNTRY_ORD'], 'name' => $_CORELANG['TXT_CORE_COUNTRY_NAME'], 'alpha2' => $_CORELANG['TXT_CORE_COUNTRY_ISO2'], 'alpha3' => $_CORELANG['TXT_CORE_COUNTRY_ISO3']), true, 'order_country'); \Cx\Core\Setting\Controller\Setting::init('core', 'country'); $limit = \Cx\Core\Setting\Controller\Setting::getValue('numof_countries_per_page_backend', 'core'); $count = 0; $arrCountries = self::getArray($count, null, $limit, \Paging::getPosition(), $objSorting->getOrder()); if ($arrCountries === false) { return \Message::error($_CORELANG['TXT_CORE_COUNTRY_ERROR_INITIALIZING']); } $objTemplateCountry->setGlobalVariable($_CORELANG + array('CORE_COUNTRY' => $_CORELANG['TXT_CORE_COUNTRY'] . ' ' . sprintf($_CORELANG['TXT_CORE_TOTAL'], $count), 'HEAD_SETTINGS_COUNTRY_ID' => $objSorting->getHeaderForField('id'), 'HEAD_SETTINGS_COUNTRY_ACTIVE' => $objSorting->getHeaderForField('active'), 'HEAD_SETTINGS_COUNTRY_ORD' => $objSorting->getHeaderForField('ord'), 'HEAD_SETTINGS_COUNTRY_NAME' => $objSorting->getHeaderForField('name'), 'HEAD_SETTINGS_COUNTRY_ISO2' => $objSorting->getHeaderForField('alpha2'), 'HEAD_SETTINGS_COUNTRY_ISO3' => $objSorting->getHeaderForField('alpha3'), 'CORE_SETTING_TAB_INDEX' => \Cx\Core\Setting\Controller\Setting::tab_index(), 'SETTINGS_COUNTRY_PAGING' => \Paging::get($uri_paging, '', $count, $limit, true))); // Note: Optionally disable the block 'settings_country_submit' // to disable storing changes $i = 0; foreach ($arrCountries as $country_id => $arrCountry) { $objTemplateCountry->setVariable(array('SETTINGS_COUNTRY_ROWCLASS' => ++$i % 2 + 1, 'SETTINGS_COUNTRY_ID' => $country_id, 'SETTINGS_COUNTRY_ACTIVE' => $arrCountry['active'] ? \Html::ATTRIBUTE_CHECKED : '', 'SETTINGS_COUNTRY_ORD' => $arrCountry['ord'], 'SETTINGS_COUNTRY_NAME' => $arrCountry['name'], 'SETTINGS_COUNTRY_ISO2' => $arrCountry['alpha2'], 'SETTINGS_COUNTRY_ISO3' => $arrCountry['alpha3'], 'SETTINGS_FUNCTIONS' => \Html::getBackendFunctions(array('delete' => 'delete_country_id=' . $country_id), array('delete' => $_CORELANG['TXT_CORE_COUNTRY_CONFIRM_DELETE'] . "\\n" . $_CORELANG['TXT_ACTION_IS_IRREVERSIBLE'])))); $objTemplateCountry->parse('settings_country_row'); } $objTemplateSetting = null; \Cx\Core\Setting\Controller\Setting::show_external($objTemplateSetting, $_CORELANG['TXT_CORE_COUNTRY_EDIT'], $objTemplateCountry->get()); \Cx\Core\Setting\Controller\Setting::show($objTemplateSetting, $uri, $_CORELANG['TXT_CORE_COUNTRY_SETTINGS'], $_CORELANG['TXT_CORE_COUNTRY_SETTINGS']); return $objTemplateSetting->get(); }
/** * Show the picture with the id $intPicId (with popup) * * @global ADONewConnection * @global array * @param integer $intPicId: The id of the picture which should be shown */ function showPicture($intPicId) { global $objDatabase, $_ARRAYLANG; $arrPictures = array(); $intPicId = intval($intPicId); // Never used // $intCatId = intval($_GET['cid']); // we need to read the category id out of the database to prevent abusement $intCatId = $this->getCategoryId($intPicId); $categoryProtected = $this->categoryIsProtected($intCatId); if ($categoryProtected > 0) { if (!\Permission::checkAccess($categoryProtected, 'dynamic', true)) { $link = base64_encode($_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING']); \Cx\Core\Csrf\Controller\Csrf::header("Location: " . CONTREXX_DIRECTORY_INDEX . "?section=Login&cmd=noaccess&redirect=" . $link); exit; } } // POPUP Code $objTpl = new \Cx\Core\Html\Sigma(ASCMS_MODULE_PATH . '/Gallery/View/Template/Backend'); $objTpl->loadTemplateFile('module_gallery_show_picture.html', true, true); // get category description $objResult = $objDatabase->Execute("SELECT value FROM " . DBPREFIX . "module_gallery_language " . "WHERE gallery_id={$intCatId} AND lang_id={$this->langId} " . "AND name='desc' LIMIT 1"); $strCategoryComment = ''; if ($objResult && $objResult->RecordCount()) { $strCategoryComment = $objResult->fields['value']; } $objResult = $objDatabase->Execute("SELECT comment, voting " . "FROM " . DBPREFIX . "module_gallery_categories " . "WHERE id={$intCatId}"); $boolComment = ''; $boolVoting = ''; if ($objResult && $objResult->RecordCount()) { $boolComment = $objResult->fields['comment']; $boolVoting = $objResult->fields['voting']; } // get picture informations $objResult = $objDatabase->Execute("SELECT id, path, link, size_show " . "FROM " . DBPREFIX . "module_gallery_pictures " . "WHERE id={$intPicId}"); $objSubResult = $objDatabase->Execute("SELECT p.name, p.desc FROM " . DBPREFIX . "module_gallery_language_pics p " . "WHERE picture_id={$intPicId} AND lang_id={$this->langId} LIMIT 1"); while (!$objResult->EOF) { $imageReso = getimagesize($this->strImagePath . $objResult->fields['path']); $strImagePath = $this->strImageWebPath . $objResult->fields['path']; $imageName = $objSubResult->fields['name']; $imageDesc = $objSubResult->fields['desc']; //show image size based on the settings of "Show image size" $showImageSize = $this->arrSettings['show_image_size'] == 'on' && $objResult->fields['size_show']; $imageSize = $showImageSize ? round(filesize($this->strImagePath . $objResult->fields['path']) / 1024, 2) : ''; $strImageWebPath = ASCMS_PROTOCOL . '://' . $_SERVER['SERVER_NAME'] . CONTREXX_SCRIPT_PATH . '?section=Gallery' . $this->strCmd . '&cid=' . $intCatId . '&pId=' . $intPicId; $objResult->MoveNext(); } // get pictures of the current category $objResult = $objDatabase->Execute("SELECT id FROM " . DBPREFIX . "module_gallery_pictures " . "WHERE status='1' AND validated='1' AND catid={$intCatId} " . "ORDER BY sorting, id"); if ($objResult && $objResult->RecordCount()) { while (!$objResult->EOF) { array_push($arrPictures, $objResult->fields['id']); $objResult->MoveNext(); } } // get next picture id if (array_key_exists(array_search($intPicId, $arrPictures) + 1, $arrPictures)) { $intPicIdNext = $arrPictures[array_search($intPicId, $arrPictures) + 1]; } else { $intPicIdNext = $arrPictures[0]; } // get previous picture id if (array_key_exists(array_search($intPicId, $arrPictures) - 1, $arrPictures)) { $intPicIdPrevious = $arrPictures[array_search($intPicId, $arrPictures) - 1]; } else { $intPicIdPrevious = end($arrPictures); } $strImageTitle = substr(strrchr($strImagePath, '/'), 1); // chop the file extension if the settings tell us to do so if ($this->arrSettings['show_ext'] == 'off') { $strImageTitle = substr($strImageTitle, 0, strrpos($strImageTitle, '.')); } // set language variables $objTpl->setVariable(array('TXT_CLOSE_WINDOW' => $_ARRAYLANG['TXT_CLOSE_WINDOW'], 'TXT_ZOOM_OUT' => $_ARRAYLANG['TXT_ZOOM_OUT'], 'TXT_ZOOM_IN' => $_ARRAYLANG['TXT_ZOOM_IN'], 'TXT_CHANGE_BG_COLOR' => $_ARRAYLANG['TXT_CHANGE_BG_COLOR'], 'TXT_PRINT' => $_ARRAYLANG['TXT_PRINT'], 'TXT_PREVIOUS_IMAGE' => $_ARRAYLANG['TXT_PREVIOUS_IMAGE'], 'TXT_NEXT_IMAGE' => $_ARRAYLANG['TXT_NEXT_IMAGE'], 'TXT_USER_DEFINED' => $_ARRAYLANG['TXT_USER_DEFINED'])); $imageSize = $showImageSize ? $_ARRAYLANG['TXT_FILESIZE'] . ': ' . $imageSize . ' kB<br />' : ''; // set variables $objTpl->setVariable(array('CONTREXX_CHARSET' => CONTREXX_CHARSET, 'GALLERY_WINDOW_WIDTH' => $imageReso[0] < 420 ? 500 : $imageReso[0] + 80, 'GALLERY_WINDOW_HEIGHT' => $imageReso[1] + 120, 'GALLERY_PICTURE_ID' => $intPicId, 'GALLERY_CATEGORY_ID' => $intCatId, 'GALLERY_TITLE' => $strCategoryComment, 'IMAGE_THIS' => $strImagePath, 'IMAGE_PREVIOUS' => '?section=Gallery' . $this->strCmd . '&cid=' . $intCatId . '&pId=' . $intPicIdPrevious, 'IMAGE_NEXT' => '?section=Gallery' . $this->strCmd . '&cid=' . $intCatId . '&pId=' . $intPicIdNext, 'IMAGE_WIDTH' => $imageReso[0], 'IMAGE_HEIGHT' => $imageReso[1], 'IMAGE_LINK' => $strImageWebPath, 'IMAGE_NAME' => $strImageTitle, 'IMAGE_DESCRIPTION' => $_ARRAYLANG['TXT_IMAGE_NAME'] . ': ' . $imageName . '<br />' . $imageSize . $_ARRAYLANG['TXT_RESOLUTION'] . ': ' . $imageReso[0] . 'x' . $imageReso[1] . ' Pixel', 'IMAGE_DESC' => !empty($imageDesc) ? $imageDesc . '<br /><br />' : '')); $objTpl->setGlobalVariable('CONTREXX_DIRECTORY_INDEX', CONTREXX_DIRECTORY_INDEX); //voting if ($objTpl->blockExists('votingTab')) { if ($this->arrSettings['show_voting'] == 'on' && $boolVoting) { $objTpl->setVariable(array('TXT_VOTING_TITLE' => $_ARRAYLANG['TXT_VOTING_TITLE'], 'TXT_VOTING_STATS_ACTUAL' => $_ARRAYLANG['TXT_VOTING_STATS_ACTUAL'], 'TXT_VOTING_STATS_WITH' => $_ARRAYLANG['TXT_VOTING_STATS_WITH'], 'TXT_VOTING_STATS_VOTES' => $_ARRAYLANG['TXT_VOTING_STATS_VOTES'])); if (isset($_COOKIE["Gallery_Voting_{$intPicId}"])) { $objTpl->hideBlock('showVotingBar'); $objTpl->setVariable(array('TXT_VOTING_ALREADY_VOTED' => $_ARRAYLANG['TXT_VOTING_ALREADY_VOTED'], 'VOTING_ALREADY_VOTED_MARK' => intval($_COOKIE['Gallery_Voting_' . $intPicId]))); } else { $objTpl->setVariable(array('TXT_VOTING_ALREADY_VOTED' => '', 'VOTING_ALREADY_VOTED_MARK' => '')); for ($i = 1; $i <= 10; $i++) { $objTpl->setVariable(array('VOTING_BAR_SRC' => ASCMS_MODULE_WEB_PATH . '/Gallery/View/Media/voting/' . $i . '.gif', 'VOTING_BAR_ALT' => $_ARRAYLANG['TXT_VOTING_RATE'] . ': ' . $i, 'VOTING_BAR_MARK' => $i, 'VOTING_BAR_CID' => $intCatId, 'VOTING_BAR_PICID' => $intPicId)); $objTpl->parse('showVotingBar'); } } $objResult = $objDatabase->Execute("SELECT mark FROM " . DBPREFIX . "module_gallery_votes " . "WHERE picid={$intPicId}"); if ($objResult->RecordCount() > 0) { $intCount = 0; $intMark = 0; while (!$objResult->EOF) { $intCount++; $intMark = $intMark + intval($objResult->fields['mark']); $objResult->MoveNext(); } $objTpl->setVariable(array('VOTING_STATS_MARK' => number_format(round($intMark / $intCount, 1), 1, '.', '\''), 'VOTING_STATS_VOTES' => $intCount)); } else { $objTpl->setVariable(array('VOTING_STATS_MARK' => 0, 'VOTING_STATS_VOTES' => 0)); } } else { $objTpl->hideBlock('votingTab'); } } //comments if ($this->arrSettings['show_comments'] == 'on' && $boolComment) { $objResult = $objDatabase->Execute("SELECT date, name, email, www, comment FROM " . DBPREFIX . "module_gallery_comments " . "WHERE picid={$intPicId} ORDER BY date ASC"); $objTpl->setVariable(array('TXT_COMMENTS_TITLE' => $objResult->RecordCount() . ' ' . $_ARRAYLANG['TXT_COMMENTS_TITLE'], 'TXT_COMMENTS_ADD_TITLE' => $_ARRAYLANG['TXT_COMMENTS_ADD_TITLE'], 'TXT_COMMENTS_ADD_NAME' => $_ARRAYLANG['TXT_COMMENTS_ADD_NAME'], 'TXT_COMMENTS_ADD_EMAIL' => $_ARRAYLANG['TXT_COMMENTS_ADD_EMAIL'], 'TXT_COMMENTS_ADD_HOMEPAGE' => $_ARRAYLANG['TXT_COMMENTS_ADD_HOMEPAGE'], 'TXT_COMMENTS_ADD_TEXT' => $_ARRAYLANG['TXT_COMMENTS_ADD_TEXT'], 'TXT_COMMENTS_ADD_SUBMIT' => $_ARRAYLANG['TXT_COMMENTS_ADD_SUBMIT'])); if ($objResult->RecordCount() == 0) { // no comments, hide the block $objTpl->hideBlock('showComments'); } else { $i = 0; while (!$objResult->EOF) { if ($i % 2 == 0) { $intRowClass = '1'; } else { $intRowClass = '2'; } if ($objResult->fields['www'] != '') { $strWWW = '<a href="' . $objResult->fields['www'] . '"><img alt="' . $objResult->fields['www'] . '" src="' . ASCMS_MODULE_WEB_PATH . '/Gallery/View/Media/www.gif" align="baseline" border="0" /></a>'; } else { $strWWW = '<img src="' . ASCMS_MODULE_WEB_PATH . '/Gallery/View/Media/pixel.gif" width="16" height="16" alt="" align="baseline" border="0" />'; } if ($objResult->fields['email'] != '') { $strEmail = '<a href="mailto:' . $objResult->fields['email'] . '"><img alt="' . $objResult->fields['email'] . '" src="' . ASCMS_MODULE_WEB_PATH . '/Gallery/View/Media/email.gif" align="baseline" border="0" /></a>'; } else { $strEmail = '<img src="' . ASCMS_MODULE_WEB_PATH . '/Gallery/View/Media/pixel.gif" width="16" height="16" alt="" align="baseline" border="0" />'; } $objTpl->setVariable(array('COMMENTS_NAME' => html_entity_decode($objResult->fields['name']), 'COMMENTS_DATE' => date($_ARRAYLANG['TXT_COMMENTS_DATEFORMAT'], $objResult->fields['date']), 'COMMENTS_WWW' => $strWWW, 'COMMENTS_EMAIL' => $strEmail, 'COMMENTS_TEXT' => nl2br($objResult->fields['comment']), 'COMMENTS_ROWCLASS' => $intRowClass)); $objTpl->parse('showComments'); $objResult->MoveNext(); $i++; } } } else { $objTpl->hideBlock('commentTab'); } $objTpl->show(); die; }
/** * Get the XHTML to display the widget. */ public function getXhtml() { \JS::activate('mediabrowser'); \JS::registerJS('core_modules/MediaBrowser/View/Script/FolderWidget.js'); \JS::registerCSS('core_modules/MediaBrowser/View/Style/FolderWidget.css'); $tpl = new \Cx\Core\Html\Sigma(\Cx\Core\Core\Controller\Cx::instanciate()->getCoreModuleFolderName() . '/MediaBrowser/View/Template/'); $tpl->loadTemplateFile('FolderWidget.html'); $tpl->setVariable(array('MEDIABROWSER_FOLDER_WIDGET_ID' => $this->id, 'MEDIABROWSER_FOLDER_WIDGET_IS_EDITABLE' => $this->mode != self::MODE_VIEW_ONLY ? 'true' : 'false')); return $tpl->get(); }
/** * Set the language list page * * @global array * @global ADONewConnection * @global \Cx\Core\Html\Sigma * @return void */ function languageOverview() { global $_ARRAYLANG, $objDatabase; // init vars $i = 0; \JS::activate('cx'); $cxjs = \ContrexxJavascript::getInstance(); $cxjs->setVariable('copyTitle', $_ARRAYLANG['TXT_LANGUAGE_COPY_TITLE'], 'language/lang'); $cxjs->setVariable('copyText', $_ARRAYLANG['TXT_LANGUAGE_COPY_TEXT'], 'language/lang'); $cxjs->setVariable('copySuccess', $_ARRAYLANG['TXT_LANGUAGE_COPY_SUCCESS'], 'language/lang'); $cxjs->setVariable('linkTitle', $_ARRAYLANG['TXT_LANGUAGE_LINK_TITLE'], 'language/lang'); $cxjs->setVariable('linkText', $_ARRAYLANG['TXT_LANGUAGE_LINK_TEXT'], 'language/lang'); $cxjs->setVariable('linkSuccess', $_ARRAYLANG['TXT_LANGUAGE_LINK_SUCCESS'], 'language/lang'); $cxjs->setVariable('warningTitle', $_ARRAYLANG['TXT_LANGUAGE_WARNING_TITLE'], 'language/lang'); $cxjs->setVariable('warningText', $_ARRAYLANG['TXT_LANGUAGE_WARNING_TEXT'], 'language/lang'); $cxjs->setVariable('waitTitle', $_ARRAYLANG['TXT_LANGUAGE_WAIT_TITLE'], 'language/lang'); $cxjs->setVariable('waitText', $_ARRAYLANG['TXT_LANGUAGE_WAIT_TEXT'], 'language/lang'); $cxjs->setVariable('yesOption', $_ARRAYLANG['TXT_YES'], 'language/lang'); $cxjs->setVariable('noOption', $_ARRAYLANG['TXT_NO'], 'language/lang'); $cxjs->setVariable('langRemovalLabel', $_ARRAYLANG['TXT_LANGUAGE_MANAGER_LABEL_LANG_REMOVAL'], 'language/lang'); $cxjs->setVariable('langRemovalContent', $_ARRAYLANG['TXT_LANGUAGE_MANAGER_LANG_REMOVAL_CONTENT'], 'language/lang'); $this->template->loadTemplateFile('language_langlist.html'); $this->pageTitle = $_ARRAYLANG['TXT_LANGUAGE_LIST']; if (!$this->isInFullMode()) { $this->hideVariables = true; $this->template->hideBlock('extendedTitles'); $this->template->hideBlock('extendedHeaders'); } else { $this->template->touchBlock('extendedTitles'); } //begin language variables $this->template->setVariable(array('TXT_ADD_NEW_LANGUAGE' => $_ARRAYLANG['TXT_ADD_NEW_LANGUAGE'], 'TXT_NAME' => $_ARRAYLANG['TXT_NAME'], 'TXT_SHORT_NAME' => $_ARRAYLANG['TXT_SHORT_NAME'], 'TXT_CHARSET' => $_ARRAYLANG['TXT_CHARSET'], 'TXT_ADD' => $_ARRAYLANG['TXT_ADD'], 'TXT_LANGUAGE_LIST' => $_ARRAYLANG['TXT_LANGUAGE_LIST'], 'TXT_ID' => $_ARRAYLANG['TXT_ID'], 'TXT_SHORT_FORM' => $_ARRAYLANG['TXT_SHORT_FORM'], 'TXT_STANDARD_LANGUAGE' => $_ARRAYLANG['TXT_STANDARD_LANGUAGE'], 'TXT_ACTION' => $_ARRAYLANG['TXT_ACTION'], 'TXT_ACCEPT_CHANGES' => $_ARRAYLANG['TXT_ACCEPT_CHANGES'], 'TXT_REMARK' => $_ARRAYLANG['TXT_REMARK'], 'TXT_ADD_DELETE_LANGUAGE_REMARK' => $_ARRAYLANG['TXT_ADD_DELETE_LANGUAGE_REMARK'], 'TXT_CONFIRM_DELETE_DATA' => $_ARRAYLANG['TXT_CONFIRM_DELETE_DATA'], 'TXT_ACTION_IS_IRREVERSIBLE' => $_ARRAYLANG['TXT_ACTION_IS_IRREVERSIBLE'], 'TXT_VALUE' => $_ARRAYLANG['TXT_VALUE'], 'TXT_MODULE' => $_ARRAYLANG['TXT_MODULE'], 'TXT_LANGUAGE' => $_ARRAYLANG['TXT_LANGUAGE'], 'TXT_STATUS' => $_ARRAYLANG['TXT_STATUS'], 'TXT_VIEW' => $_ARRAYLANG['TXT_VIEW'], 'TXT_CONTROLLED' => $_ARRAYLANG['TXT_CONTROLLED'], 'TXT_OPEN_ISSUE' => $_ARRAYLANG['TXT_OPEN_ISSUE'], 'TXT_SHORT_NAME' => $_ARRAYLANG['TXT_SHORT_NAME'], 'TXT_LANGUAGE_DEPENDANT_SYSTEM_VARIABLES' => $_ARRAYLANG['TXT_LANGUAGE_DEPENDANT_SYSTEM_VARIABLES'], 'TXT_ADMINISTRATION_PAGES' => $_ARRAYLANG['TXT_ADMINISTRATION_PAGES'], 'TXT_WEB_PAGES' => $_ARRAYLANG['TXT_WEB_PAGES'], 'TXT_SECTION' => $_ARRAYLANG['TXT_SECTION'], 'TXT_CORE_FALLBACK' => $_ARRAYLANG['TXT_CORE_FALLBACK'], 'TXT_LANGUAGE_MANAGER_OK' => $_ARRAYLANG['TXT_LANGUAGE_MANAGER_OK'])); $this->template->setGlobalVariable(array('TXT_DEFAULT_LANGUAGE' => $_ARRAYLANG['TXT_STANDARD_LANGUAGE'], 'TXT_CORE_NONE' => $_ARRAYLANG['TXT_CORE_NONE'], 'CMD' => contrexx_input2xhtml($_GET['cmd']), 'TXT_LANGUAGE_ACTION_COPY' => $_ARRAYLANG['TXT_LANGUAGE_ACTION_COPY'], 'TXT_LANGUAGE_ACTION_LINK' => $_ARRAYLANG['TXT_LANGUAGE_ACTION_LINK'])); //end language variables if ($this->hideVariables == true) { $this->template->setGlobalVariable(array('LANGUAGE_ADMIN_STYLE' => 'display: none')); } else { $this->template->setGlobalVariable(array('LANGUAGE_ADMIN_STYLE' => 'display: block')); } $arrLanguages = \FWLanguage::getActiveFrontendLanguages(); $this->template->setVariable('LANGUAGE_MANAGER_ACTIVE_LANGIDS', implode(', ', array_keys($arrLanguages))); $objResult = $objDatabase->Execute("SELECT * FROM " . DBPREFIX . "languages ORDER BY id"); if ($objResult !== false) { while (!$objResult->EOF) { $checked = ""; if ($objResult->fields['is_default'] == "true") { $checked = "checked"; } $status = "<input type='radio' name='langDefaultStatus' onchange='updateCurrent();' value='" . $objResult->fields['id'] . "' {$checked} />"; $checked = ""; if ($objResult->fields['frontend'] == 1) { $checked = "checked"; } $activeStatus = "<input type='checkbox' name='langActiveStatus[" . $objResult->fields['id'] . "]' onchange='updateCurrent();' value='1' {$checked} />"; $checked = ""; if ($objResult->fields['backend'] == 1) { $checked = "checked"; } $selectedLang = ''; switch ($objResult->fields['fallback']) { case '': $this->template->setVariable('NONE_SELECTED', 'selected="selected"'); break; case '0': $this->template->setVariable('LANGUAGE_DEFAULT_SELECTED', 'selected="selected"'); break; default: $selectedLang = $objResult->fields['fallback']; } // set fallback language drop down foreach ($arrLanguages as $langId => $arrLanguage) { $selected = $langId == $selectedLang ? 'selected="selected"' : ''; $this->template->setVariable(array('LANGUAGE_LANG_ID' => $langId, 'LANGUAGE_LANG_OPTION' => contrexx_raw2xhtml($arrLanguage['name']), 'LANGUAGE_OPTION_SELECTED' => $selected)); $this->template->parse('fallbackLanguages'); } $adminStatus = "<input type='checkbox' name='langAdminStatus[" . $objResult->fields['id'] . "]' value='1' {$checked} />"; $this->template->setVariable(array('LANGUAGE_ROWCLASS' => 'row' . ($i++ % 2 + 1), 'LANGUAGE_LANG_ID' => $objResult->fields['id'], 'LANGUAGE_LANG_NAME' => $objResult->fields['name'], 'LANGUAGE_LANG_SHORTNAME' => $objResult->fields['lang'], 'LANGUAGE_LANG_CHARSET' => $objResult->fields['charset'], 'LANGUAGE_LANG_STATUS' => $status, 'LANGUAGE_ACTIVE_STATUS' => $activeStatus, 'LANGUAGE_ADMIN_STATUS' => $adminStatus)); if (!$this->isInFullMode()) { $this->template->hideBlock('extendedOptions'); } $this->template->parse('languageRow'); $objResult->MoveNext(); } } }
/** * @override */ public function getXHtml() { global $_CORELANG; //JS / CSS dependencies \JS::activate('cx'); \JS::registerJS('lib/javascript/swfobject.js'); // JS::registerJS('lib/javascript/deployJava.js'); \JS::registerJS('core_modules/Upload/js/uploaders/combo/combo.js'); \JS::registerCSS('core_modules/Upload/css/uploaders/combo/combo.css'); \JS::registerJS('core_modules/Upload/js/uploaders/pl/plupload.full.js'); \JS::registerJS('core_modules/Upload/js/uploaders/pl/jquery.plupload.queue.js'); \JS::registerCSS('core_modules/Upload/css/uploaders/pl/plupload.queue.css'); $formUploader = UploadFactory::getInstance()->newUploader('form', $this->uploadId); //i18n of uploader descriptions $formUploaderDescription = $_CORELANG['FORM_UPLOADER']; $plUploaderDescription = $_CORELANG['PL_UPLOADER']; $jumpUploaderDescription = $_CORELANG['JUMP_UPLOADER']; $alternativesCaption = $_CORELANG['OTHER_UPLOADERS']; //combuploader js config: available uploaders $uploaders = array("{type:'form',description:'" . $formUploaderDescription . "'}"); if (in_array('Pl', $this->enabledUploaders)) { array_push($uploaders, "{type:'pl',description:'" . $plUploaderDescription . "'}"); } if (in_array('Jump', $this->enabledUploaders)) { array_push($uploaders, "{type:'jump',description:'" . $jumpUploaderDescription . "'}"); } $uploaders = '[' . join(',', $uploaders) . ']'; $cmdOrSection = $this->isBackendRequest ? 'cmd' : 'section'; $actOrCmd = $this->isBackendRequest ? 'act' : 'cmd'; //from where the combouploader gets the code on an uploader switch $switchUrl; //from where the combouploader gets the response for finished uploads $responseUrl; if ($this->isBackendRequest) { $switchUrl = ASCMS_ADMIN_WEB_PATH . '/index.php?' . $cmdOrSection . '=Upload&' . $actOrCmd . '=ajaxUploaderCode'; $responseUrl = ASCMS_ADMIN_WEB_PATH . '/index.php?' . $cmdOrSection . '=Upload&' . $actOrCmd . '=response'; } else { $switchUrl = CONTREXX_SCRIPT_PATH . '?' . $cmdOrSection . '=Upload&' . $actOrCmd . '=ajaxUploaderCode'; $responseUrl = CONTREXX_SCRIPT_PATH . '?' . $cmdOrSection . '=Upload&' . $actOrCmd . '=response'; } $tpl = new \Cx\Core\Html\Sigma(ASCMS_CORE_MODULE_PATH . '/Upload/template/uploaders'); $tpl->setErrorHandling(PEAR_ERROR_DIE); $tpl->loadTemplateFile('combo.html'); $tpl->setVariable(array('CONFIG_UPLOADERS_JS' => $uploaders, 'RESPONSE_URL' => $responseUrl, 'UPLOAD_ID' => $this->uploadId, 'SWITCH_URL' => $switchUrl, 'OTHER_UPLOADERS_CAPTION' => $_CORELANG['OTHER_UPLOADERS'], 'TXT_CORE_UPLOAD_MORE' => $_CORELANG['TXT_CORE_UPLOAD_MORE'], 'TXT_CORE_FINISH_UPLOADING' => $_CORELANG['TXT_CORE_FINISH_UPLOADING'], 'TXT_CORE_FILES_UPLOADED' => $_CORELANG['TXT_CORE_FILES_UPLOADED'], 'TXT_CORE_FILES_NOT_UPLOADED' => $_CORELANG['TXT_CORE_FILES_NOT_UPLOADED'])); $tpl->setVariable('UPLOADER_CODE', $formUploader->getXHtml()); //see Uploader::handleInstanceBusiness $this->handleInstanceBusiness($tpl, 'cu'); return $tpl->get(); }
/** * Sets up the Payment settings view * @param \Cx\Core\Html\Sigma $objTemplate The optional Template, * by reference * @return boolean True on success, * false otherwise */ static function view_settings(&$objTemplate = null) { if (!$objTemplate) { $objTemplate = new \Cx\Core\Html\Sigma(); $objTemplate->loadTemplateFile('module_shop_settings_payment.html'); } else { $objTemplate->addBlockfile('SHOP_SETTINGS_FILE', 'settings_block', 'module_shop_settings_payment.html'); } $i = 0; foreach (Payment::getArray() as $payment_id => $arrPayment) { $zone_id = Zones::getZoneIdByPaymentId($payment_id); $objTemplate->setVariable(array('SHOP_PAYMENT_STYLE' => 'row' . (++$i % 2 + 1), 'SHOP_PAYMENT_ID' => $arrPayment['id'], 'SHOP_PAYMENT_NAME' => $arrPayment['name'], 'SHOP_PAYMENT_HANDLER_MENUOPTIONS' => PaymentProcessing::getMenuoptions($arrPayment['processor_id']), 'SHOP_PAYMENT_COST' => $arrPayment['fee'], 'SHOP_PAYMENT_COST_FREE_SUM' => $arrPayment['free_from'], 'SHOP_ZONE_SELECTION' => Zones::getMenu($zone_id, "zone_id[{$payment_id}]"), 'SHOP_PAYMENT_STATUS' => intval($arrPayment['active']) ? \Html::ATTRIBUTE_CHECKED : '')); $objTemplate->parse('shopPayment'); } $objTemplate->setVariable(array('SHOP_PAYMENT_HANDLER_MENUOPTIONS_NEW' => PaymentProcessing::getMenuoptions(-1), 'SHOP_ZONE_SELECTION_NEW' => Zones::getMenu(0, 'zone_id_new'))); // Payment Service Providers $objTemplate->setVariable(array('SHOP_PAYMILL_STATUS' => \Cx\Core\Setting\Controller\Setting::getValue('paymill_active', 'Shop') ? \Html::ATTRIBUTE_CHECKED : '', 'SHOP_PAYMILL_TEST_SELECTED' => \Cx\Core\Setting\Controller\Setting::getValue('paymill_use_test_account', 'Shop') == 0 ? \Html::ATTRIBUTE_SELECTED : '', 'SHOP_PAYMILL_LIVE_SELECTED' => \Cx\Core\Setting\Controller\Setting::getValue('paymill_use_test_account', 'Shop') == 1 ? \Html::ATTRIBUTE_SELECTED : '', 'SHOP_PAYMILL_TEST_PRIVATE_KEY' => contrexx_raw2xhtml(\Cx\Core\Setting\Controller\Setting::getValue('paymill_test_private_key', 'Shop')), 'SHOP_PAYMILL_TEST_PUBLIC_KEY' => contrexx_raw2xhtml(\Cx\Core\Setting\Controller\Setting::getValue('paymill_test_public_key', 'Shop')), 'SHOP_PAYMILL_LIVE_PRIVATE_KEY' => contrexx_raw2xhtml(\Cx\Core\Setting\Controller\Setting::getValue('paymill_live_private_key', 'Shop')), 'SHOP_PAYMILL_LIVE_PUBLIC_KEY' => contrexx_raw2xhtml(\Cx\Core\Setting\Controller\Setting::getValue('paymill_live_public_key', 'Shop')), 'SHOP_PAYMILL_PRIVATE_KEY' => contrexx_raw2xhtml(\Cx\Core\Setting\Controller\Setting::getValue('paymill_private_key', 'Shop')), 'SHOP_PAYMILL_PUBLIC_KEY' => contrexx_raw2xhtml(\Cx\Core\Setting\Controller\Setting::getValue('paymill_public_key', 'Shop')), 'SHOP_SAFERPAY_ID' => \Cx\Core\Setting\Controller\Setting::getValue('saferpay_id', 'Shop'), 'SHOP_SAFERPAY_STATUS' => \Cx\Core\Setting\Controller\Setting::getValue('saferpay_active', 'Shop') ? \Html::ATTRIBUTE_CHECKED : '', 'SHOP_SAFERPAY_TEST_ID' => \Cx\Core\Setting\Controller\Setting::getValue('saferpay_use_test_account', 'Shop'), 'SHOP_SAFERPAY_TEST_STATUS' => \Cx\Core\Setting\Controller\Setting::getValue('saferpay_use_test_account', 'Shop') ? \Html::ATTRIBUTE_CHECKED : '', 'SHOP_SAFERPAY_FINALIZE_PAYMENT' => \Cx\Core\Setting\Controller\Setting::getValue('saferpay_finalize_payment', 'Shop') ? \Html::ATTRIBUTE_CHECKED : '', 'SHOP_SAFERPAY_WINDOW_MENUOPTIONS' => \Saferpay::getWindowMenuoptions(\Cx\Core\Setting\Controller\Setting::getValue('saferpay_window_option', 'Shop')), 'SHOP_PAYREXX_INSTANCE_NAME' => \Cx\Core\Setting\Controller\Setting::getValue('payrexx_instance_name', 'Shop'), 'SHOP_PAYREXX_API_SECRET' => \Cx\Core\Setting\Controller\Setting::getValue('payrexx_api_secret', 'Shop'), 'SHOP_PAYREXX_STATUS' => \Cx\Core\Setting\Controller\Setting::getValue('payrexx_active', 'Shop') ? \Html::ATTRIBUTE_CHECKED : '', 'SHOP_YELLOWPAY_SHOP_ID' => \Cx\Core\Setting\Controller\Setting::getValue('postfinance_shop_id', 'Shop'), 'SHOP_YELLOWPAY_STATUS' => \Cx\Core\Setting\Controller\Setting::getValue('postfinance_active', 'Shop') ? \Html::ATTRIBUTE_CHECKED : '', 'SHOP_YELLOWPAY_HASH_SIGNATURE_IN' => contrexx_raw2xhtml(\Cx\Core\Setting\Controller\Setting::getValue('postfinance_hash_signature_in', 'Shop')), 'SHOP_YELLOWPAY_HASH_SIGNATURE_OUT' => contrexx_raw2xhtml(\Cx\Core\Setting\Controller\Setting::getValue('postfinance_hash_signature_out', 'Shop')), 'SHOP_YELLOWPAY_AUTHORIZATION_TYPE_OPTIONS' => \Yellowpay::getAuthorizationMenuoptions(\Cx\Core\Setting\Controller\Setting::getValue('postfinance_authorization_type', 'Shop')), 'SHOP_YELLOWPAY_USE_TESTSERVER_CHECKED' => \Cx\Core\Setting\Controller\Setting::getValue('postfinance_use_testserver', 'Shop') ? \Html::ATTRIBUTE_CHECKED : '', 'SHOP_POSTFINANCE_MOBILE_WEBUSER' => contrexx_raw2xhtml(\Cx\Core\Setting\Controller\Setting::getValue('postfinance_mobile_webuser', 'Shop')), 'SHOP_POSTFINANCE_MOBILE_SIGN' => contrexx_raw2xhtml(\Cx\Core\Setting\Controller\Setting::getValue('postfinance_mobile_sign', 'Shop')), 'SHOP_POSTFINANCE_MOBILE_IJUSTWANTTOTEST_CHECKED' => \Cx\Core\Setting\Controller\Setting::getValue('postfinance_mobile_ijustwanttotest', 'Shop') ? \Html::ATTRIBUTE_CHECKED : '', 'SHOP_POSTFINANCE_MOBILE_STATUS' => \Cx\Core\Setting\Controller\Setting::getValue('postfinance_mobile_status', 'Shop') ? \Html::ATTRIBUTE_CHECKED : '', 'SHOP_DATATRANS_AUTHORIZATION_TYPE_OPTIONS' => \Datatrans::getReqtypeMenuoptions(\Cx\Core\Setting\Controller\Setting::getValue('datatrans_request_type', 'Shop')), 'SHOP_DATATRANS_MERCHANT_ID' => \Cx\Core\Setting\Controller\Setting::getValue('datatrans_merchant_id', 'Shop'), 'SHOP_DATATRANS_STATUS' => \Cx\Core\Setting\Controller\Setting::getValue('datatrans_active', 'Shop') ? \Html::ATTRIBUTE_CHECKED : '', 'SHOP_DATATRANS_USE_TESTSERVER_YES_CHECKED' => \Cx\Core\Setting\Controller\Setting::getValue('datatrans_use_testserver', 'Shop') ? \Html::ATTRIBUTE_CHECKED : '', 'SHOP_DATATRANS_USE_TESTSERVER_NO_CHECKED' => \Cx\Core\Setting\Controller\Setting::getValue('datatrans_use_testserver', 'Shop') ? '' : \Html::ATTRIBUTE_CHECKED, 'SHOP_PAYPAL_EMAIL' => contrexx_raw2xhtml(\Cx\Core\Setting\Controller\Setting::getValue('paypal_account_email', 'Shop')), 'SHOP_PAYPAL_STATUS' => \Cx\Core\Setting\Controller\Setting::getValue('paypal_active', 'Shop') ? \Html::ATTRIBUTE_CHECKED : '', 'SHOP_PAYPAL_DEFAULT_CURRENCY_MENUOPTIONS' => \PayPal::getAcceptedCurrencyCodeMenuoptions(\Cx\Core\Setting\Controller\Setting::getValue('paypal_default_currency', 'Shop')), 'SHOP_PAYMENT_LSV_STATUS' => \Cx\Core\Setting\Controller\Setting::getValue('payment_lsv_active', 'Shop') ? \Html::ATTRIBUTE_CHECKED : '', 'SHOP_PAYMENT_DEFAULT_CURRENCY' => Currency::getDefaultCurrencySymbol(), 'SHOP_CURRENCY_CODE' => Currency::getCurrencyCodeById(Currency::getDefaultCurrencyId()))); return true; }
public function render() { if ($this->output) { return $this->output; } $template = new \Cx\Core\Html\Sigma(\Env::get('cx')->getCodeBaseCorePath() . '/Html/View/Template/Generic'); $template->loadTemplateFile('HtmlElement.html'); $parsedChildren = null; foreach ($this->getChildren() as $child) { $parsedChildren .= $child->render(); } $template->setVariable(array('ELEMENT_NAME' => $this->name)); if ($parsedChildren === null && $this->allowDirectClose) { $template->hideBlock('children'); $template->touchBlock('nochildren'); } else { $template->hideBlock('nochildren'); $template->touchBlock('children'); $template->setVariable(array('CHILDREN' => $parsedChildren)); } foreach ($this->getAttributes() as $name => $value) { $template->setVariable(array('ATTRIBUTE_NAME' => $name, 'ATTRIBUTE_VALUE' => preg_replace(array("/{/", "/}/"), array("{", "}"), contrexx_raw2xhtml((string) $value), -1))); $template->parse('attribute'); } $template->setVariable(array('ATTRIBUTE_NAME' => 'class', 'ATTRIBUTE_VALUE' => contrexx_raw2xhtml($this->getClasses()))); $template->parse('attribute'); $this->output = $template->get(); return $this->output; }
/** * Add the warning banner * * @param \Cx\Core\ContentManager\Model\Entity\Page $page Resolved page */ public function postContentLoad(\Cx\Core\ContentManager\Model\Entity\Page $page) { \JS::registerJS('core_modules/Workbench/View/Script/Warning.js'); $objTemplate = $this->cx->getTemplate(); $warning = new \Cx\Core\Html\Sigma(ASCMS_CORE_MODULE_PATH . '/Workbench/View/Template/Backend'); $warning->loadTemplateFile('Warning.html'); if ($this->cx->getMode() == \Cx\Core\Core\Controller\Cx::MODE_BACKEND) { \JS::registerCSS('core_modules/Workbench/View/Style/WarningBackend.css'); $objTemplate->_blocks['__global__'] = preg_replace('/<div id="container"[^>]*>/', '\\0' . $warning->get(), $objTemplate->_blocks['__global__']); } else { \JS::registerCSS('core_modules/Workbench/View/Style/WarningFrontend.css'); $objTemplate->_blocks['__global__'] = preg_replace('/<body[^>]*>/', '\\0' . $warning->get(), $objTemplate->_blocks['__global__']); } }
/** * Sets up the Order statistics * @param \Cx\Core\Html\Sigma $objTemplate The optional Template, * by reference * @global ADONewConnection $objDatabase * @global array $_ARRAYLANG * @todo Rewrite the statistics in a seperate class, extending Order * @static */ static function view_statistics(&$objTemplate = null) { global $objDatabase, $_ARRAYLANG; if (!$objTemplate || !$objTemplate->blockExists('no_order')) { $objTemplate = new \Cx\Core\Html\Sigma(\Cx\Core\Core\Controller\Cx::instanciate()->getCodeBaseModulePath() . '/Shop/View/Template/Backend'); $objTemplate->loadTemplateFile('module_shop_statistic.html'); } $objTemplate->setGlobalVariable($_ARRAYLANG); // Get the first order date; if its empty, no order has been placed yet $time_first_order = Order::getFirstOrderTime(); if (!$time_first_order) { $objTemplate->touchBlock('no_order'); return $objTemplate; } $year_first_order = date('Y', $time_first_order); $month_first_order = date('m', $time_first_order); $start_month = $end_month = $start_year = $end_year = NULL; if (isset($_REQUEST['submitdate'])) { // A range is requested $start_month = intval($_REQUEST['startmonth']); $end_month = intval($_REQUEST['stopmonth']); $start_year = intval($_REQUEST['startyear']); $end_year = intval($_REQUEST['stopyear']); } else { // Default range to one year, or back to the first order if less $start_month = $month_first_order; $end_month = Date('m'); $start_year = $end_year = Date('Y'); if ($year_first_order < $start_year) { $start_year -= 1; if ($year_first_order < $start_year || $month_first_order < $start_month) { $start_month = $end_month; } } } $objTemplate->setVariable(array('SHOP_START_MONTH' => Shopmanager::getMonthDropdownMenu($start_month), 'SHOP_END_MONTH' => Shopmanager::getMonthDropdownMenu($end_month), 'SHOP_START_YEAR' => Shopmanager::getYearDropdownMenu($start_year, $year_first_order), 'SHOP_END_YEAR' => Shopmanager::getYearDropdownMenu($end_year, $year_first_order))); $start_date = date(ASCMS_DATE_FORMAT_INTERNATIONAL_DATETIME, mktime(0, 0, 0, $start_month, 1, $start_year)); // mktime() will fix the month from 13 to 01, see example 2 // on http://php.net/manual/de/function.mktime.php. // Mind that this is exclusive and only used in the queries below // so that Order date < $end_date! $end_date = date(ASCMS_DATE_FORMAT_INTERNATIONAL_DATETIME, mktime(0, 0, 0, $end_month + 1, 1, $end_year)); $selectedStat = isset($_REQUEST['selectstats']) ? intval($_REQUEST['selectstats']) : 0; if ($selectedStat == 2) { // Product statistic $objTemplate->setVariable(array('TXT_COLUMN_1_DESC' => $_ARRAYLANG['TXT_PRODUCT_NAME'], 'TXT_COLUMN_2_DESC' => $_ARRAYLANG['TXT_COUNT_ARTICLES'], 'TXT_COLUMN_3_DESC' => $_ARRAYLANG['TXT_STOCK'], 'SHOP_ORDERS_SELECTED' => '', 'SHOP_ARTICLES_SELECTED' => \Html::ATTRIBUTE_SELECTED, 'SHOP_CUSTOMERS_SELECTED' => '')); $arrSql = \Text::getSqlSnippets('`B`.`id`', FRONTEND_LANG_ID, 'Shop', array('title' => Product::TEXT_NAME)); $query = "\n SELECT A.product_id AS id,\n A.quantity AS shopColumn2,\n A.price AS sum,\n B.stock AS shopColumn3,\n C.currency_id, " . $arrSql['field'] . "\n FROM " . DBPREFIX . "module_shop" . MODULE_INDEX . "_order_items AS A\n JOIN " . DBPREFIX . "module_shop" . MODULE_INDEX . "_orders AS C\n ON A.order_id=C.id\n JOIN " . DBPREFIX . "module_shop" . MODULE_INDEX . "_products AS B\n ON A.product_id=B.id" . $arrSql['join'] . "\n WHERE C.date_time>='{$start_date}'\n AND C.date_time<'{$end_date}'\n AND ( C.status=" . Order::STATUS_CONFIRMED . "\n OR C.status=" . Order::STATUS_COMPLETED . ")\n ORDER BY shopColumn2 DESC"; } elseif ($selectedStat == 3) { // Customer statistic $objTemplate->setVariable(array('TXT_COLUMN_1_DESC' => $_ARRAYLANG['TXT_NAME'], 'TXT_COLUMN_2_DESC' => $_ARRAYLANG['TXT_COMPANY'], 'TXT_COLUMN_3_DESC' => $_ARRAYLANG['TXT_COUNT_ARTICLES'], 'SHOP_ORDERS_SELECTED' => '', 'SHOP_ARTICLES_SELECTED' => '', 'SHOP_CUSTOMERS_SELECTED' => \Html::ATTRIBUTE_SELECTED)); $query = "\n SELECT A.sum AS sum,\n A.currency_id AS currency_id,\n sum(B.quantity) AS shopColumn3,\n A.customer_id AS id\n FROM " . DBPREFIX . "module_shop" . MODULE_INDEX . "_orders AS A\n JOIN " . DBPREFIX . "module_shop" . MODULE_INDEX . "_order_items AS B\n ON A.id=B.order_id\n WHERE A.date_time>='{$start_date}'\n AND A.date_time<'{$end_date}'\n AND ( A.status=" . Order::STATUS_CONFIRMED . "\n OR A.status=" . Order::STATUS_COMPLETED . ")\n GROUP BY B.order_id\n ORDER BY sum DESC"; } else { // Order statistic (default); sales per month $objTemplate->setVariable(array('TXT_COLUMN_1_DESC' => $_ARRAYLANG['TXT_DATE'], 'TXT_COLUMN_2_DESC' => $_ARRAYLANG['TXT_COUNT_ORDERS'], 'TXT_COLUMN_3_DESC' => $_ARRAYLANG['TXT_COUNT_ARTICLES'], 'SHOP_ORDERS_SELECTED' => \Html::ATTRIBUTE_SELECTED, 'SHOP_ARTICLES_SELECTED' => '', 'SHOP_CUSTOMERS_SELECTED' => '')); $query = "\n SELECT SUM(A.quantity) AS shopColumn3,\n COUNT(A.order_id) AS shopColumn2,\n B.currency_id,\n B.sum AS sum,\n DATE_FORMAT(B.date_time, '%m') AS month,\n DATE_FORMAT(B.date_time, '%Y') AS year\n FROM " . DBPREFIX . "module_shop" . MODULE_INDEX . "_order_items AS A,\n " . DBPREFIX . "module_shop" . MODULE_INDEX . "_orders AS B\n WHERE A.order_id=B.id\n AND B.date_time>='{$start_date}'\n AND B.date_time<'{$end_date}'\n AND ( B.status=" . Order::STATUS_CONFIRMED . "\n OR B.status=" . Order::STATUS_COMPLETED . ")\n GROUP BY B.id\n ORDER BY year DESC, month DESC"; } $arrayResults = array(); $objResult = $objDatabase->Execute($query); if (!$objResult) { return Order::errorHandler(); } $sumColumn3 = $sumColumn4 = 0; $sumColumn2 = ''; if ($selectedStat == 2) { // Product statistc while (!$objResult->EOF) { // set currency id Currency::setActiveCurrencyId($objResult->fields['currency_id']); $key = $objResult->fields['id']; if (!isset($arrayResults[$key])) { $arrayResults[$key] = array('column1' => '<a href="index.php?cmd=Shop' . MODULE_INDEX . '&act=products&tpl=manage&id=' . $objResult->fields['id'] . '" title="' . $objResult->fields['title'] . '">' . $objResult->fields['title'] . '</a>', 'column2' => 0, 'column3' => $objResult->fields['shopColumn3'], 'column4' => 0); } $arrayResults[$key]['column2'] += +$objResult->fields['shopColumn2']; $arrayResults[$key]['column4'] += +$objResult->fields['shopColumn2'] * Currency::getDefaultCurrencyPrice($objResult->fields['sum']); $objResult->MoveNext(); } if (is_array($arrayResults)) { foreach ($arrayResults as $entry) { $sumColumn2 = $sumColumn2 + $entry['column2']; $sumColumn3 = $sumColumn3 + $entry['column3']; $sumColumn4 = $sumColumn4 + $entry['column4']; } rsort($arrayResults); } } elseif ($selectedStat == 3) { // Customer statistic while (!$objResult->EOF) { Currency::setActiveCurrencyId($objResult->fields['currency_id']); $key = $objResult->fields['id']; if (!isset($arrayResults[$key])) { $objUser = \FWUser::getFWUserObject()->objUser; $objUser = $objUser->getUser($key); $company = ''; $name = $_ARRAYLANG['TXT_SHOP_CUSTOMER_NOT_FOUND']; if ($objUser) { $company = $objUser->getProfileAttribute('company'); $name = $objUser->getProfileAttribute('firstname') . ' ' . $objUser->getProfileAttribute('lastname'); } $arrayResults[$key] = array('column1' => '<a href="index.php?cmd=Shop' . MODULE_INDEX . '&act=customerdetails&customer_id=' . $objResult->fields['id'] . '">' . $name . '</a>', 'column2' => $company, 'column3' => 0, 'column4' => 0); } $arrayResults[$key]['column3'] += $objResult->fields['shopColumn3']; $arrayResults[$key]['column4'] += Currency::getDefaultCurrencyPrice($objResult->fields['sum']); $sumColumn3 += $objResult->fields['shopColumn3']; $sumColumn4 += Currency::getDefaultCurrencyPrice($objResult->fields['sum']); $objResult->MoveNext(); } } else { // Order statistic (default) $arrayMonths = explode(',', $_ARRAYLANG['TXT_MONTH_ARRAY']); while (!$objResult->EOF) { $key = $objResult->fields['year'] . '.' . $objResult->fields['month']; if (!isset($arrayResults[$key])) { $arrayResults[$key] = array('column1' => '', 'column2' => 0, 'column3' => 0, 'column4' => 0); } $arrayResults[$key]['column1'] = $arrayMonths[intval($objResult->fields['month']) - 1] . ' ' . $objResult->fields['year']; $arrayResults[$key]['column2'] = $arrayResults[$key]['column2'] + 1; $arrayResults[$key]['column3'] = $arrayResults[$key]['column3'] + $objResult->fields['shopColumn3']; $arrayResults[$key]['column4'] = $arrayResults[$key]['column4'] + Currency::getDefaultCurrencyPrice($objResult->fields['sum']); $sumColumn2 = $sumColumn2 + 1; $sumColumn3 = $sumColumn3 + $objResult->fields['shopColumn3']; $sumColumn4 = $sumColumn4 + Currency::getDefaultCurrencyPrice($objResult->fields['sum']); $objResult->MoveNext(); } krsort($arrayResults, SORT_NUMERIC); } $objTemplate->setCurrentBlock('statisticRow'); $i = 0; if (is_array($arrayResults)) { foreach ($arrayResults as $entry) { $objTemplate->setVariable(array('SHOP_ROWCLASS' => 'row' . (++$i % 2 + 1), 'SHOP_COLUMN_1' => $entry['column1'], 'SHOP_COLUMN_2' => $entry['column2'], 'SHOP_COLUMN_3' => $entry['column3'], 'SHOP_COLUMN_4' => Currency::formatPrice($entry['column4']) . ' ' . Currency::getDefaultCurrencySymbol())); $objTemplate->parse('statisticRow'); } } $query_currency = "\n SELECT currency_id, sum,\n DATE_FORMAT(date_time, '%m') AS month,\n DATE_FORMAT(date_time, '%Y') AS year\n FROM " . DBPREFIX . "module_shop" . MODULE_INDEX . "_orders\n WHERE status=" . Order::STATUS_CONFIRMED . "\n OR status=" . Order::STATUS_COMPLETED . "\n ORDER BY date_time DESC"; $objResult = $objDatabase->Execute($query_currency); if (!$objResult) { return Order::errorHandler(); } $totalSoldProducts = 0; $query_totalproducts = "\n SELECT sum(A.quantity) AS shopTotalSoldProducts\n FROM " . DBPREFIX . "module_shop" . MODULE_INDEX . "_order_items AS A,\n " . DBPREFIX . "module_shop" . MODULE_INDEX . "_orders AS B\n WHERE A.order_id=B.id\n AND ( B.status=" . Order::STATUS_CONFIRMED . "\n OR B.status=" . Order::STATUS_COMPLETED . ")"; $objResult = $objDatabase->SelectLimit($query_totalproducts, 1); if ($objResult) { if (!$objResult->EOF) { $totalSoldProducts = $objResult->fields['shopTotalSoldProducts']; $objResult->MoveNext(); } } $totalOrderSum = 0; $totalOrders = 0; $bestMonthSum = 0; $bestMonthDate = ''; $arrShopMonthSum = array(); $objResult = $objDatabase->Execute($query); while (!$objResult->EOF) { $orderSum = Currency::getDefaultCurrencyPrice($objResult->fields['sum']); if (!isset($arrShopMonthSum[$objResult->fields['year']][$objResult->fields['month']])) { $arrShopMonthSum[$objResult->fields['year']][$objResult->fields['month']] = 0; } $arrShopMonthSum[$objResult->fields['year']][$objResult->fields['month']] += $orderSum; $totalOrderSum += $orderSum; $totalOrders++; $objResult->MoveNext(); } $months = explode(',', $_ARRAYLANG['TXT_MONTH_ARRAY']); foreach ($arrShopMonthSum as $year => $arrMonth) { foreach ($arrMonth as $month => $sum) { if ($bestMonthSum < $sum) { $bestMonthSum = $sum; $bestMonthDate = $months[$month - 1] . ' ' . $year; } } } $objTemplate->setVariable(array('SHOP_ROWCLASS' => 'row' . (++$i % 2 + 1), 'SHOP_TOTAL_SUM' => Currency::formatPrice($totalOrderSum) . ' ' . Currency::getDefaultCurrencySymbol(), 'SHOP_MONTH' => $bestMonthDate, 'SHOP_MONTH_SUM' => Currency::formatPrice($bestMonthSum) . ' ' . Currency::getDefaultCurrencySymbol(), 'SHOP_TOTAL_ORDERS' => $totalOrders, 'SHOP_SOLD_ARTICLES' => $totalSoldProducts, 'SHOP_SUM_COLUMN_2' => $sumColumn2, 'SHOP_SUM_COLUMN_3' => $sumColumn3, 'SHOP_SUM_COLUMN_4' => Currency::formatPrice($sumColumn4) . ' ' . Currency::getDefaultCurrencySymbol())); return true; }
/** * Parse the navigation * * @param array $cmd * * @return \Cx\Core\Html\Sigma */ public function parseNavigation(&$cmd = array()) { // set tabs $navigation = new \Cx\Core\Html\Sigma(\Env::get('cx')->getCodeBaseCorePath() . '/Core/View/Template/Backend'); $navigation->loadTemplateFile('Navigation.html'); $commands = array_merge(array('' => array('permission' => $this->defaultPermission)), $this->getCommands()); $this->checkAndModifyCmdByPermission($cmd, $commands); foreach ($commands as $key => $command) { $subNav = array(); $currentCommand = is_array($command) ? $key : $command; if (is_array($command) && isset($command['children'])) { $subNav = array_merge(array('' => array('permission' => $this->defaultPermission)), $command['children']); } else { if (is_array($command) && array_key_exists('permission', $command)) { unset($command['permission']); // navigation might contain only the permission key, unset it } $subNav = is_array($command) && !empty($command) ? array_merge(array(''), $command) : array(); } //check the main navigation permission if (!$this->hasAccessToCommand(array($currentCommand))) { continue; } //parse the main navigation $this->parseCurrentNavItem($navigation, 'tab', $currentCommand, '', $cmd[0] == $currentCommand, 0); // subnav if ($cmd[0] == $currentCommand && count($subNav)) { $first = true; foreach ($subNav as $subkey => $subValue) { $subcommand = is_array($subValue) ? $subkey : $subValue; if (!$this->hasAccessToCommand(array($currentCommand, $subcommand))) { continue; } $isActiveSubNav = !isset($cmd[1]) && $first || (isset($cmd[1]) ? $cmd[1] : '') == $subcommand; //parse the subnavigation $this->parseCurrentNavItem($navigation, 'subnav', $subcommand, $currentCommand, $isActiveSubNav, 1); $first = false; } } } return $navigation; }
/** * pops up the google map window for choosing coordinates for an object * * @return void */ function _showMapPopup() { global $_ARRAYLANG; $objTpl = new \Cx\Core\Html\Sigma(ASCMS_MODULE_PATH . '/immo/template'); $objTpl->setErrorHandling(PEAR_ERROR_DIE); $objTpl->loadTemplateFile('module_immo_map_popup.html'); $googlekey = !empty($this->arrSettings['GOOGLE_API_KEY_' . $_SERVER['SERVER_NAME']]) ? $this->arrSettings['GOOGLE_API_KEY_' . $_SERVER['SERVER_NAME']] : ''; $objTpl->setVariable(array('CONTREXX_CHARSET' => CONTREXX_CHARSET, 'TXT_IMMO_BROWSER_NOT_SUPPORTED' => $_ARRAYLANG['TXT_IMMO_BROWSER_NOT_SUPPORTED'], 'TXT_IMMO_CLOSE' => $_ARRAYLANG['TXT_IMMO_CLOSE'], 'TXT_IMMO_DBLCLICK_TO_SET_POINT' => $_ARRAYLANG['TXT_IMMO_DBLCLICK_TO_SET_POINT'], 'TXT_IMMO_ACCEPT' => $_ARRAYLANG['TXT_IMMO_ACCEPT'], 'IMMO_MAP_LAT_BACKEND' => $this->arrSettings['lat_backend'], 'IMMO_MAP_LON_BACKEND' => $this->arrSettings['lon_backend'], 'IMMO_MAP_ZOOM_BACKEND' => $this->arrSettings['zoom_backend'], 'IMMO_GOOGLE_API_KEY' => $googlekey)); $objTpl->show(); }