getTemplateArray() public static method

get the template array
Since: 3.0.0
public static getTemplateArray ( ) : array
return array
示例#1
0
 /**
  * render the view
  *
  * @since 3.0.0
  *
  * @return string
  */
 public function render()
 {
     $output = Hook::trigger('adminSettingFormStart');
     /* html elements */
     $titleElement = new Html\Element();
     $titleElement->init('h2', ['class' => 'rs-admin-title-content']);
     $titleElement->text($this->_language->get('settings'));
     $formElement = new AdminForm($this->_registry, $this->_language);
     $formElement->init(['form' => ['action' => $this->_registry->get('parameterRoute') . 'admin/update/settings', 'class' => 'rs-admin-js-accordion rs-admin-js-validate-form rs-admin-component-accordion rs-admin-form-default rs-admin-fn-clearfix'], 'button' => ['save' => ['name' => 'update']], 'link' => ['cancel' => ['href' => $this->_registry->get('parameterRoute') . 'admin']]]);
     /* create the form */
     $formElement->append('<fieldset class="rs-admin-js-set-accordion rs-admin-js-set-active rs-admin-set-accordion rs-admin-set-active">')->append('<legend class="rs-admin-js-title-accordion rs-admin-js-title-active rs-admin-title-accordion rs-admin-title-active">' . $this->_language->get('general') . '</legend>')->append('<ul class="rs-admin-js-box-accordion rs-admin-js-box-active rs-admin-box-accordion rs-admin-box-accordion rs-admin-box-active"><li>')->label($this->_language->get('language'), ['for' => 'language'])->select(Helper\Option::getLanguageArray(), ['id' => 'language', 'name' => 'language', 'value' => Db::getSetting('language')])->append('</li><li>')->label($this->_language->get('template'), ['for' => 'template'])->select(Helper\Option::getTemplateArray(), ['id' => 'template', 'name' => 'template', 'value' => Db::getSetting('template')])->append('</li></ul></fieldset>')->append('<fieldset class="rs-admin-js-set-accordion rs-admin-set-accordion">')->append('<legend class="rs-admin-js-title-accordion rs-admin-title-accordion">' . $this->_language->get('metadata') . '</legend>')->append('<ul class="rs-admin-js-box-accordion rs-admin-box-accordion rs-admin-box-accordion"><li>')->label($this->_language->get('title'), ['for' => 'title'])->text(['id' => 'title', 'name' => 'title', 'value' => Db::getSetting('title')])->append('</li><li>')->label($this->_language->get('author'), ['for' => 'author'])->text(['id' => 'author', 'name' => 'author', 'value' => Db::getSetting('author')])->append('</li><li>')->label($this->_language->get('copyright'), ['for' => 'copyright'])->text(['id' => 'copyright', 'name' => 'copyright', 'value' => Db::getSetting('copyright')])->append('</li><li>')->label($this->_language->get('description'), ['for' => 'description'])->textarea(['class' => 'rs-admin-js-auto-resize rs-admin-field-textarea rs-admin-field-small', 'id' => 'description', 'name' => 'description', 'rows' => 1, 'value' => Db::getSetting('description')])->append('</li><li>')->label($this->_language->get('keywords'), ['for' => 'keywords'])->textarea(['class' => 'rs-admin-js-auto-resize rs-admin-field-textarea rs-admin-field-small', 'id' => 'keywords', 'name' => 'keywords', 'rows' => 1, 'value' => Db::getSetting('keywords')])->append('</li><li>')->label($this->_language->get('robots'), ['for' => 'robots'])->select(Helper\Option::getRobotArray(), ['id' => 'robots', 'name' => 'robots', 'value' => filter_var(Db::getSetting('robots'), FILTER_VALIDATE_INT)])->append('</li></ul></fieldset>')->append('<fieldset class="rs-admin-js-set-accordion rs-admin-set-accordion">')->append('<legend class="rs-admin-js-title-accordion rs-admin-title-accordion">' . $this->_language->get('contact') . '</legend>')->append('<ul class="rs-admin-js-box-accordion rs-admin-box-accordion rs-admin-box-accordion"><li>')->label($this->_language->get('email'), ['for' => 'email'])->email(['id' => 'email', 'name' => 'email', 'value' => Db::getSetting('email')])->append('</li><li>')->label($this->_language->get('subject'), ['for' => 'subject'])->text(['id' => 'subject', 'name' => 'subject', 'value' => Db::getSetting('subject')])->append('</li><li>')->label($this->_language->get('notification'), ['for' => 'notification'])->select(Helper\Option::getToggleArray(), ['id' => 'notification', 'name' => 'notification', 'value' => intval(Db::getSetting('notification'))])->append('</li></ul></fieldset>')->append('<fieldset class="rs-admin-js-set-accordion rs-admin-set-accordion">')->append('<legend class="rs-admin-js-title-accordion rs-admin-title-accordion">' . $this->_language->get('formatting') . '</legend>')->append('<ul class="rs-admin-js-box-accordion rs-admin-box-accordion rs-admin-box-accordion"><li>')->label($this->_language->get('charset'), ['for' => 'charset'])->text(['id' => 'charset', 'name' => 'charset', 'value' => Db::getSetting('charset')])->append('</li><li>')->label($this->_language->get('divider'), ['for' => 'divider'])->text(['id' => 'divider', 'name' => 'divider', 'value' => Db::getSetting('divider')])->append('</li><li>')->label($this->_language->get('time'), ['for' => 'time'])->select(Helper\Option::getTimeArray(), ['id' => 'time', 'name' => 'time', 'value' => Db::getSetting('time')])->append('</li><li>')->label($this->_language->get('date'), ['for' => 'date'])->select(Helper\Option::getDateArray(), ['id' => 'date', 'name' => 'date', 'value' => Db::getSetting('date')])->append('</li></ul></fieldset>')->append('<fieldset class="rs-admin-js-set-accordion rs-admin-set-accordion">')->append('<legend class="rs-admin-js-title-accordion rs-admin-title-accordion">' . $this->_language->get('contents') . '</legend>')->append('<ul class="rs-admin-js-box-accordion rs-admin-box-accordion rs-admin-box-accordion"><li>')->label($this->_language->get('homepage'), ['for' => 'homepage'])->select(Helper\Option::getContentArray('articles'), ['id' => 'homepage', 'name' => 'homepage', 'value' => Db::getSetting('homepage')])->append('</li><li>')->label($this->_language->get('limit'), ['for' => 'limit'])->number(['id' => 'limit', 'name' => 'limit', 'value' => Db::getSetting('limit')])->append('</li><li>')->label($this->_language->get('order'), ['for' => 'order'])->select(Helper\Option::getOrderArray(), ['id' => 'order', 'name' => 'order', 'value' => Db::getSetting('order')])->append('</li><li>')->label($this->_language->get('pagination'), ['for' => 'pagination'])->select(Helper\Option::getToggleArray(), ['id' => 'pagination', 'name' => 'pagination', 'value' => intval(Db::getSetting('pagination'))])->append('</li></ul></fieldset>')->append('<fieldset class="rs-admin-js-set-accordion rs-admin-set-accordion">')->append('<legend class="rs-admin-js-title-accordion rs-admin-title-accordion">' . $this->_language->get('users') . '</legend>')->append('<ul class="rs-admin-js-box-accordion rs-admin-box-accordion rs-admin-box-accordion"><li>')->label($this->_language->get('registration'), ['for' => 'registration'])->select(Helper\Option::getToggleArray(), ['id' => 'registration', 'name' => 'registration', 'value' => intval(Db::getSetting('registration'))])->append('</li><li>')->label($this->_language->get('verification'), ['for' => 'verification'])->select(Helper\Option::getToggleArray(), ['id' => 'verification', 'name' => 'verification', 'value' => intval(Db::getSetting('verification'))])->append('</li><li>')->label($this->_language->get('recovery'), ['for' => 'recovery'])->select(Helper\Option::getToggleArray(), ['id' => 'recovery', 'name' => 'recovery', 'value' => intval(Db::getSetting('recovery'))])->append('</li></ul></fieldset>')->append('<fieldset class="rs-admin-js-set-accordion rs-admin-set-accordion">')->append('<legend class="rs-admin-js-title-accordion rs-admin-title-accordion">' . $this->_language->get('security') . '</legend>')->append('<ul class="rs-admin-js-box-accordion rs-admin-box-accordion rs-admin-box-accordion"><li>')->label($this->_language->get('moderation'), ['for' => 'moderation'])->select(Helper\Option::getToggleArray(), ['id' => 'moderation', 'name' => 'moderation', 'value' => intval(Db::getSetting('moderation'))])->append('</li><li>')->label($this->_language->get('captcha'), ['for' => 'captcha'])->select(Helper\Option::getCaptchaArray(), ['id' => 'captcha', 'name' => 'captcha', 'value' => intval(Db::getSetting('captcha'))])->append('</li></ul></fieldset>')->token()->cancel()->save();
     /* collect output */
     $output .= $titleElement . $formElement;
     $output .= Hook::trigger('adminSettingFormEnd');
     return $output;
 }
示例#2
0
 /**
  * render the view
  *
  * @since 3.0.0
  *
  * @param integer $articleId identifier of the article
  *
  * @return string
  */
 public function render($articleId = null)
 {
     $output = Hook::trigger('adminArticleFormStart');
     $article = Db::forTablePrefix('articles')->whereIdIs($articleId)->findOne();
     /* html elements */
     $titleElement = new Html\Element();
     $titleElement->init('h2', ['class' => 'rs-admin-title-content']);
     $titleElement->text($article->title ? $article->title : $this->_language->get('article_new'));
     $linkElement = new Html\Element();
     $linkElement->init('a');
     $itemElement = new Html\Element();
     $itemElement->init('li');
     $listElement = new Html\Element();
     $listElement->init('ul', ['class' => 'rs-admin-js-list-tab rs-admin-list-tab']);
     $formElement = new AdminForm($this->_registry, $this->_language);
     $formElement->init(['form' => ['action' => $this->_registry->get('parameterRoute') . ($article->id ? 'admin/process/articles/' . $article->id : 'admin/process/articles'), 'class' => 'rs-admin-js-tab rs-admin-js-validate-form rs-admin-component-tab rs-admin-form-default rs-admin-fn-clearfix'], 'link' => ['cancel' => ['href' => $this->_registry->get('articlesEdit') && $this->_registry->get('articlesDelete') ? $this->_registry->get('parameterRoute') . 'admin/view/articles' : $this->_registry->get('parameterRoute') . 'admin'], 'delete' => ['href' => $article->id ? $this->_registry->get('parameterRoute') . 'admin/delete/articles/' . $article->id . '/' . $this->_registry->get('token') : null]]]);
     /* collect item output */
     $tabRoute = $this->_registry->get('parameterRoute') . $this->_registry->get('fullRoute');
     $outputItem = $itemElement->copy()->addClass('rs-admin-js-item-active rs-admin-item-active')->html($linkElement->copy()->attr('href', $tabRoute . '#tab-1')->text($this->_language->get('article')));
     $outputItem .= $itemElement->copy()->html($linkElement->copy()->attr('href', $tabRoute . '#tab-2')->text($this->_language->get('general')));
     $outputItem .= $itemElement->copy()->html($linkElement->copy()->attr('href', $tabRoute . '#tab-3')->text($this->_language->get('customize')));
     $listElement->append($outputItem);
     /* create the form */
     $formElement->append($listElement)->append('<div class="rs-admin-js-box-tab rs-admin-box-tab">')->append('<fieldset id="tab-1" class="rs-admin-js-set-tab rs-admin-js-set-active rs-admin-set-tab rs-admin-set-active"><ul><li>')->label($this->_language->get('title'), ['for' => 'title'])->text(['autofocus' => 'autofocus', 'class' => 'rs-admin-js-generate-alias-input rs-admin-field-default rs-admin-field-text', 'id' => 'title', 'name' => 'title', 'required' => 'required', 'value' => $article->title])->append('</li><li>')->label($this->_language->get('alias'), ['for' => 'alias'])->text(['class' => 'rs-admin-js-generate-alias-output rs-admin-field-default rs-admin-field-text', 'id' => 'alias', 'name' => 'alias', 'pattern' => '[a-zA-Z0-9-]+', 'required' => 'required', 'value' => $article->alias])->append('</li><li>')->label($this->_language->get('description'), ['for' => 'description'])->textarea(['class' => 'rs-admin-js-auto-resize rs-admin-field-textarea rs-admin-field-small', 'id' => 'description', 'name' => 'description', 'rows' => 1, 'value' => $article->description])->append('</li><li>')->label($this->_language->get('keywords'), ['for' => 'keywords'])->textarea(['class' => 'rs-admin-js-auto-resize rs-admin-js-generate-keyword-output rs-admin-field-textarea rs-admin-field-small', 'id' => 'keywords', 'name' => 'keywords', 'rows' => 1, 'value' => $article->keywords])->append('</li><li>')->label($this->_language->get('robots'), ['for' => 'robots'])->select(Helper\Option::getRobotArray(), ['id' => 'robots', 'name' => 'robots', 'value' => $article->id ? filter_var($article->robots, FILTER_VALIDATE_INT) : null])->append('</li><li>')->label($this->_language->get('text'), ['for' => 'text'])->textarea(['class' => 'rs-admin-js-auto-resize rs-admin-js-generate-keyword-input rs-admin-js-editor-textarea rs-admin-field-textarea', 'id' => 'text', 'name' => 'text', 'required' => 'required', 'value' => htmlspecialchars($article->text)])->append('</li></ul></fieldset>')->append('<fieldset id="tab-2" class="rs-admin-js-set-tab rs-admin-set-tab"><ul><li>')->label($this->_language->get('language'), ['for' => 'language'])->select(Helper\Option::getLanguageArray(), ['id' => 'language', 'name' => 'language', 'value' => $article->language])->append('</li><li>')->label($this->_language->get('template'), ['for' => 'template'])->select(Helper\Option::getTemplateArray(), ['id' => 'template', 'name' => 'template', 'value' => $article->template])->append('</li><li>')->label($this->_language->get('article_sibling'), ['for' => 'sibling'])->select(Helper\Option::getContentArray('articles', [intval($article->id)]), ['id' => 'sibling', 'name' => 'sibling', 'value' => intval($article->sibling)])->append('</li><li>')->label($this->_language->get('category'), ['for' => 'category'])->select(Helper\Option::getContentArray('categories'), ['id' => 'category', 'name' => 'category', 'value' => intval($article->category)])->append('</li></ul></fieldset>')->append('<fieldset id="tab-3" class="rs-admin-js-set-tab rs-admin-set-tab"><ul><li>')->label($this->_language->get('headline'), ['for' => 'headline'])->select(Helper\Option::getToggleArray(), ['id' => 'headline', 'name' => 'headline', 'value' => $article->id ? intval($article->headline) : 1])->append('</li><li>')->label($this->_language->get('byline'), ['for' => 'byline'])->select(Helper\Option::getToggleArray(), ['id' => 'byline', 'name' => 'byline', 'value' => $article->id ? intval($article->byline) : 1])->append('</li><li>')->label($this->_language->get('comments'), ['for' => 'comments'])->select(Helper\Option::getToggleArray(), ['id' => 'comments', 'name' => 'comments', 'value' => intval($article->comments)])->append('</li><li>')->label($this->_language->get('status'), ['for' => 'status'])->select(Helper\Option::getVisibleArray(), ['id' => 'status', 'name' => 'status', 'value' => $article->id ? intval($article->status) : 1])->append('</li><li>')->label($this->_language->get('rank'), ['for' => 'rank'])->number(['id' => 'rank', 'name' => 'rank', 'value' => $article->id ? intval($article->rank) : Db::forTablePrefix('articles')->max('rank') + 1])->append('</li>');
     if ($this->_registry->get('groupsEdit')) {
         $formElement->append('<li>')->label($this->_language->get('access'), ['for' => 'access'])->select(Helper\Option::getAccessArray('groups'), ['id' => 'access', 'name' => 'access[]', 'multiple' => 'multiple', 'size' => count(Helper\Option::getAccessArray('groups')), 'value' => $article->access])->append('</li>');
     }
     $formElement->append('<li>')->label($this->_language->get('date'), ['for' => 'date'])->datetime(['id' => 'date', 'name' => 'date', 'value' => $article->date ? $article->date : null])->append('</li></ul></fieldset></div>')->token()->cancel();
     if ($article->id) {
         if ($this->_registry->get('articlesDelete')) {
             $formElement->delete();
         }
         if ($this->_registry->get('articlesEdit')) {
             $formElement->save();
         }
     } else {
         if ($this->_registry->get('articlesNew')) {
             $formElement->create();
         }
     }
     /* collect output */
     $output .= $titleElement . $formElement;
     $output .= Hook::trigger('adminArticleFormEnd');
     return $output;
 }
示例#3
0
 /**
  * testGetTemplateArray
  *
  * @since 3.0.0
  *
  * @param array $expectArray
  *
  * @dataProvider providerOption
  */
 public function testGetTemplateArray($expectArray = [])
 {
     /* actual */
     $actualArray = Helper\Option::getTemplateArray();
     /* compare */
     $this->assertTrue(!array_diff($expectArray['template'], $actualArray));
 }