protected function _prepareForm()
 {
     $form = new Varien_Data_Form();
     $data = Mage::registry('kbase_article');
     if (!is_array($data)) {
         $data = array();
     }
     $fieldset = $form->addFieldset('general', array('legend' => $this->__('General information'), 'class' => 'fieldset-wide'));
     $fieldset->addField('article_date_created', 'hidden', array('name' => 'article_date_created'));
     $fieldset->addField('article_title', 'text', array('name' => 'article_title', 'label' => $this->__('Title'), 'required' => true));
     if (AW_Kbase_Helper_Data::mageVersionIsAbove13()) {
         $config = Mage::getSingleton('cms/wysiwyg_config')->getConfig();
         $config->setData(AW_Kbase_Helper_Data::recursiveReplace('/kbase_admin/', '/' . (string) Mage::app()->getConfig()->getNode('admin/routers/adminhtml/args/frontName') . '/', $config->getData()));
     } else {
         $config = false;
     }
     $fieldset->addField('article_text', 'editor', array('name' => 'article_text', 'label' => $this->__('Article'), 'style' => 'height:25em', 'required' => true, 'config' => $config));
     $fieldset->addField('article_attachment', 'file', array('name' => 'article_attachment', 'label' => $this->__('Attachment'), 'class' => 'kbase'));
     $form->getElement('article_attachment')->setRenderer($this->getLayout()->createBlock('kbase/adminhtml_edit_uploader'));
     $fieldset->addField('article_tags', 'text', array('name' => 'article_tags', 'label' => $this->__('Tags'), 'note' => $this->__('Separate tags with commas')));
     $fieldset->addField('article_url_key', 'text', array('name' => 'article_url_key', 'label' => $this->__('URL key'), 'note' => $this->__('URL key must be unique within store views')));
     $fieldset->addField('article_status', 'select', array('name' => 'article_status', 'label' => $this->__('Status'), 'values' => AW_Kbase_Model_Source_Status::toOptionArray()));
     $fieldset->addField('article_author_id', 'select', array('name' => 'article_author_id', 'label' => $this->__('Author'), 'values' => AW_Kbase_Model_Source_User::toShortOptionArray()));
     $form->setValues($data);
     $this->setForm($form);
     return parent::_prepareForm();
 }
Example #2
0
 public function getProccessedText($text)
 {
     $processorModelName = AW_Kbase_Helper_Data::mageVersionIsAbove13() ? 'widget/template_filter' : 'core/email_template_filter';
     $processor = Mage::getModel($processorModelName);
     if ($processor instanceof Mage_Core_Model_Email_Template_Filter) {
         $text = $processor->filter($text);
     }
     return $text;
 }
 protected function _toHtml()
 {
     $this->setRatingEnabled(Mage::getStoreConfig('kbase/general/rating_enabled'));
     // processing article text
     $processorModelName = AW_Kbase_Helper_Data::mageVersionIsAbove13() ? 'widget/template_filter' : 'core/email_template_filter';
     $processor = Mage::getModel($processorModelName);
     if ($processor instanceof Mage_Core_Model_Email_Template_Filter) {
         $this->setProcessedText($processor->filter($this->getArticle()->getArticleText()));
     } else {
         $this->setProcessedText($this->getArticle()->getArticleText());
     }
     return parent::_toHtml();
 }
 public function editAction()
 {
     $id = $this->getRequest()->getParam('id');
     $data = Mage::getModel('kbase/article')->load($id)->getData();
     $session = Mage::getSingleton('adminhtml/session');
     if (isset($data['article_id']) || $id == 0) {
         $sessionData = $session->getKBaseArticleData(true);
         $session->setKBaseArticleData(false);
         if (is_array($sessionData)) {
             $data = array_merge($data, $sessionData);
         }
         // for compatibility with previous KB versions
         if (isset($data['article_url_key'])) {
             $data['article_url_key'] = urldecode($data['article_url_key']);
         }
         if (isset($data['article_tags']) && is_array($data['article_tags'])) {
             $data['article_tags'] = implode(', ', $data['article_tags']);
         }
         Mage::register('kbase_article', $data);
         $this->loadLayout();
         $this->_setActiveMenu('kbase/article');
         $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
         $this->_addContent($this->getLayout()->createBlock('kbase/adminhtml_article_edit'))->_addLeft($this->getLayout()->createBlock('kbase/adminhtml_article_edit_tabs'));
         if ($id === null) {
             $this->_displayTitle('Add new article');
         } else {
             $this->_displayTitle($this->__('Edit article #%d', $id));
         }
         if (AW_Kbase_Helper_Data::mageVersionIsAbove13()) {
             if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) {
                 $this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
             }
         }
         $this->renderLayout();
     } else {
         $session->addError($this->__('Article does not exist'));
         $this->_redirect('*/*/');
     }
 }