コード例 #1
0
 /**
  * onAdd.
  *
  * @param   string  $tpl  Param
  *
  * @return	void
  */
 public function onAdd($tpl = null)
 {
     $result = parent::onAdd($tpl);
     Extly::loadAwesome();
     $file = EHtml::getRelativeFile('js', 'com_autotweet/channel.min.js');
     if ($file) {
         $dependencies = array();
         $dependencies['channel'] = array('extlycore');
         Extly::initApp(CAUTOTWEETNG_VERSION, $file, $dependencies);
     }
     $postsModel = F0FModel::getTmpInstance('Posts', 'AutoTweetModel');
     $postsModel->set('pubstate', array(AutotweetPostHelper::POST_SUCCESS, AutotweetPostHelper::POST_ERROR));
     $postsModel->set('channel', $this->item->id);
     $postsModel->set('filter_order', 'id');
     $postsModel->set('filter_order_Dir', 'DESC');
     $postsModel->set('limit', 1);
     $posts = $postsModel->getItemList();
     $alert_message = '';
     $alert_style = 'alert-info';
     if (count($posts) > 0) {
         $lastpost = $posts[0];
         if ($lastpost->pubstate == AutotweetPostHelper::POST_ERROR) {
             $alert_style = 'alert-error';
         }
         $alert_message = $lastpost->postdate . ' - ' . JText::_($lastpost->resultmsg);
     }
     $this->assign('alert_message', $alert_message);
     $this->assign('alert_style', $alert_style);
     return $result;
 }
コード例 #2
0
 /**
  * onEdit.
  *
  * @param   string  $tpl  Param
  *
  * @return	void
  */
 public function onAdd($tpl = null)
 {
     Extly::loadAwesome();
     $file = EHtml::getRelativeFile('js', 'com_autotweet/rule.min.js');
     if ($file) {
         Extly::initApp(CAUTOTWEETNG_VERSION, $file);
     }
     return parent::onAdd($tpl);
 }
コード例 #3
0
 /**
  * onAdd.
  *
  * @param   string  $tpl  Param
  *
  * @return	void
  */
 public function onAdd($tpl = null)
 {
     Extly::loadAwesome();
     $file = EHtml::getRelativeFile('js', 'com_autotweet/post.min.js');
     if ($file) {
         $dependencies = array();
         $dependencies['post'] = array('extlycore');
         Extly::initApp(CAUTOTWEETNG_VERSION, $file, $dependencies);
     }
     return parent::onAdd($tpl);
 }
コード例 #4
0
 /**
  * onAdd.
  *
  * @param   string  $tpl  Param
  *
  * @return	void
  */
 public function onAdd($tpl = null)
 {
     $result = parent::onAdd($tpl);
     Extly::loadAwesome();
     $file = EHtml::getRelativeFile('js', 'com_autotweet/post.min.js');
     if ($file) {
         $dependencies = array();
         $dependencies['post'] = array('extlycore');
         Extly::initApp(CAUTOTWEETNG_VERSION, $file, $dependencies);
     }
     if ($this->item->id == 0 && isset($this->item->pubstate)) {
         if (!$this->perms->editstate) {
             $this->item->pubstate = 'approve';
         }
     }
     return $result;
 }
コード例 #5
0
 /**
  * onAdd.
  *
  * @param   string  $tpl  Param
  *
  * @return	void
  */
 public function onAdd($tpl = null)
 {
     $jlang = JFactory::getLanguage();
     $jlang->load('com_content');
     Extly::loadAwesome();
     $file = EHtml::getRelativeFile('js', 'com_autotweet/feed.min.js');
     if ($file) {
         $dependencies = array();
         $paths = array();
         $ajax_import = EParameter::getComponentParam(CAUTOTWEETNG, 'ajax_import', true);
         $this->assignRef('ajax_import', $ajax_import);
         if ($ajax_import) {
             $paths['import'] = 'media/com_autotweet/js/import.min';
         }
         Extly::initApp(CAUTOTWEETNG_VERSION, $file, $dependencies, $paths);
     }
     return parent::onAdd($tpl);
 }
コード例 #6
0
 /**
  * onAdd.
  *
  * @param   string  $tpl  Param
  *
  * @return	void
  */
 public function onAdd($tpl = null)
 {
     $result = parent::onAdd($tpl);
     Extly::loadAwesome();
     JHtml::stylesheet('lib_extly/ng-table.min.css', false, true);
     $file = EHtml::getRelativeFile('js', 'com_autotweet/composer/app.min.js');
     if ($file) {
         $this->assign('extensionmainjs', $file);
         $dependencies = array();
         $paths = array();
         // Libraries
         $paths['angular'] = 'media/lib_extly/js/angular/angular.min';
         $paths['angular-resource'] = 'media/lib_extly/js/angular/angular-resource.min';
         $dependencies['angular-resource'] = array('angular');
         $paths['ng-table'] = 'media/lib_extly/js/angular/ng-table-noamd.min';
         $dependencies['ng-table'] = array('angular');
         // App
         $paths['requests-service'] = 'media/com_autotweet/js/composer/requests-service.min';
         $dependencies['requests-service'] = array('angular-resource', 'extlycore');
         $paths['agendas-service'] = 'media/com_autotweet/js/composer/agendas-service.min';
         $dependencies['agendas-service'] = array('angular');
         $paths['directives'] = 'media/com_autotweet/js/composer/directives.min';
         $dependencies['directives'] = array('angular');
         $paths['editor-controller'] = 'media/com_autotweet/js/composer/editor-controller.min';
         $dependencies['editor-controller'] = array('angular');
         $paths['requests-controller'] = 'media/com_autotweet/js/composer/requests-controller.min';
         $dependencies['requests-controller'] = array('ng-table', 'requests-service');
         $paths['agendas-controller'] = 'media/com_autotweet/js/composer/agendas-controller.min';
         $dependencies['agendas-controller'] = array('agendas-service');
         $scriptManager = Extly::getScriptManager();
         $scriptManager->setFramework(DependencyManager::JS_ANGULAR);
         $scriptManager->initApp(CAUTOTWEETNG_VERSION, $file, $dependencies, $paths);
         $list_limit = JFactory::getConfig()->get('list_limit');
         $scriptManager->addPostRequireScript("angular.bootstrap(document, ['composerApp']);\n\t\t\t\t\twindow.xtListLimit = {$list_limit};\n\t\t\t\t\tjQuery('.post-attrs-group a').click(function(e) {\n\t\t\t\t\t\tvar btn = jQuery(e.target), v;\n\n\t\t\t\t\t\tif (btn.hasClass('xticon')) {\n\t\t\t\t\t\t \tbtn = btn.parent('a');\n\t\t\t\t\t\t }\n\n\t\t\t\t\t\t v = btn.attr('data-value');\n\n\t\t\t\t\t\tjQuery('.xt-subform').hide();\n\t\t\t\t\t\tjQuery('.xt-subform-' + v).show();\n\t\t\t\t\t});");
     }
     $document = JFactory::getDocument();
     $document->addScript('//cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/md5.js');
     $platform = F0FPlatform::getInstance();
     $this->assign('editown', $platform->authorise('core.edit.own', $this->input->getCmd('option', 'com_foobar')));
     $this->assign('editstate', $platform->authorise('core.edit.state', $this->input->getCmd('option', 'com_foobar')));
     return $result;
 }
コード例 #7
0
 /**
  * onBrowse
  *
  * @param   string  $tpl  Param
  *
  * @return	bool
  */
 protected function onBrowse($tpl = null)
 {
     Extly::loadAwesome();
     GridHelper::loadComponentInfo($this);
     GridHelper::loadStats($this);
     GridHelper::loadStatsTimeline($this);
     $document = JFactory::getDocument();
     $document->addScript('//cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js');
     $document->addScript('//cdnjs.cloudflare.com/ajax/libs/nvd3/1.7.0/nv.d3.min.js');
     $document->addStyleSheet('//cdnjs.cloudflare.com/ajax/libs/nvd3/1.7.0/nv.d3.min.css');
     // Get component parameter - Offline mode
     $version_check = EParameter::getComponentParam(CAUTOTWEETNG, 'version_check', 1);
     $this->assign('version_check', $version_check);
     $platform = F0FPlatform::getInstance();
     if ($version_check && $platform->isBackend()) {
         $file = EHtml::getRelativeFile('js', 'com_autotweet/liveupdate.min.js');
         if ($file) {
             $dependencies = array();
             $dependencies['liveupdate'] = array('extlycore');
             Extly::initApp(CAUTOTWEETNG_VERSION, $file, $dependencies);
         }
     }
     parent::onBrowse($tpl);
 }
コード例 #8
0
 /**
  * loadAjaxImporter
  *
  * @param   object  $view  Param
  *
  * @return	void
  */
 public static function loadAjaxImporter($view)
 {
     $ajax_import = EParameter::getComponentParam(CAUTOTWEETNG, 'ajax_import', true);
     $view->assignRef('ajax_import', $ajax_import);
     if ($ajax_import) {
         $file = EHtml::getRelativeFile('js', 'com_autotweet/import.min.js');
         if ($file) {
             $dependencies = array();
             $dependencies['import'] = array('extlycore');
             Extly::initApp(CAUTOTWEETNG_VERSION, $file, $dependencies);
         }
     } else {
         Extly::initApp(CAUTOTWEETNG_VERSION);
     }
 }
コード例 #9
0
 /**
  * addItemeditorHelperApp
  *
  * @return string
  */
 public static function addItemeditorHelperApp()
 {
     static $link = false;
     if ($link) {
         return $link;
     }
     $doc = JFactory::getDocument();
     $app = JFactory::getApplication();
     list($isAdmin, $option, $controller, $task, $view, $layout, $id) = AutotweetBaseHelper::getControllerParams();
     $js = "var autotweetUrlRoot = '" . JUri::root() . "';\n";
     $js .= "var autotweetUrlBase = '" . JUri::base() . "';\n";
     $mediaPath = 'media/com_autotweet/js/itemeditor/templates/';
     $ext = '.txt';
     $joomlaPart = '.j' . (EXTLY_J3 ? '3' : '25');
     $sitePart = $isAdmin ? '.admin' : '.site';
     $tpl0 = $mediaPath . $option . $ext;
     $tpl1 = $mediaPath . $option . $joomlaPart . $ext;
     $tpl2 = $mediaPath . $option . $sitePart . $joomlaPart . $ext;
     $tpl3 = $mediaPath . $option . $sitePart . $ext;
     if (file_exists(JPATH_ROOT . '/' . $tpl2)) {
         $tpl = $tpl2;
     } elseif (file_exists(JPATH_ROOT . '/' . $tpl1)) {
         $tpl = $tpl1;
     } elseif (file_exists(JPATH_ROOT . '/' . $tpl3)) {
         $tpl = $tpl3;
     } elseif (file_exists(JPATH_ROOT . '/' . $tpl0)) {
         $tpl = $tpl0;
     } else {
         $tpl = $mediaPath . 'com_joocial-default' . $joomlaPart . $ext;
     }
     $tpl = JUri::root() . $tpl . '?version=' . CAUTOTWEETNG_VERSION;
     $js .= "var autotweetPanelTemplate = 'text!" . $tpl . "';\n";
     $doc->addScriptDeclaration($js);
     $link = 'index.php?option=com_autotweet&view=itemeditor&layout=modal&tmpl=component&' . JSession::getFormToken() . '=1';
     // Add Advanced Attributes
     $params = null;
     // Case Request edit page
     if ($option == CAUTOTWEETNG && $view == 'request' && $task == 'edit') {
         $params = AdvancedattrsHelper::getAdvancedAttrByReq($id);
     } elseif ($id > 0) {
         $params = AdvancedattrsHelper::getAdvancedAttrs($option, $id);
     }
     if (!$params) {
         $params = new StdClass();
         $params->description = '';
         $params->hashtags = '';
         $params->fulltext = '';
         $params->postthis = EParameter::getComponentParam(CAUTOTWEETNG, 'joocial_postthis', PlgAutotweetBase::POSTTHIS_DEFAULT);
         $params->evergreen = PlgAutotweetBase::POSTTHIS_NO;
         $params->agenda = array();
         $params->unix_mhdmd = '';
         $params->repeat_until = '';
         $params->image = '';
         $params->image_url = '';
         $params->channels = '';
         $params->channels_text = '';
     }
     // Migrating old objects
     if (!isset($params->description)) {
         $params->description = '';
     }
     // Migrating old objects
     if (!isset($params->hashtags)) {
         $params->hashtags = '';
     }
     // Migrating old objects
     if (!isset($params->fulltext)) {
         $params->fulltext = '';
     }
     // Migrating old objects
     if (!isset($params->image_url)) {
         $params->image_url = '';
     }
     $params->editorTitle = VersionHelper::getFlavourName() . ' ' . JText::_('COM_AUTOTWEET_VIEW_ITEMEDITOR_TITLE');
     $params->postthisLabel = JText::_('COM_AUTOTWEET_VIEW_ITEMEDITOR_POSTTHIS');
     $params->evergreenLabel = JText::_('COM_AUTOTWEET_VIEW_ITEMEDITOR_EVERGREEN');
     $params->agendaLabel = JText::_('COM_AUTOTWEET_VIEW_ITEMEDITOR_SCHEDULER');
     $params->unix_mhdmdLabel = JText::_('COM_XTCRONJOB_TASKS_FIELD_UNIX_MHDMD');
     $params->repeat_untilLabel = JText::_('COM_AUTOTWEET_VIEW_ITEMEDITOR_REPEAT_UNTIL');
     $params->imageLabel = JText::_('COM_AUTOTWEET_VIEW_ITEMEDITOR_IMAGES');
     $params->channelLabel = JText::_('COM_AUTOTWEET_VIEW_ITEMEDITOR_CHANNELS');
     $params->postthisDefaultLabel = '<i class="xticon xticon-circle-o"></i> ' . JText::_('COM_AUTOTWEET_DEFAULT_LABEL');
     $params->postthisYesLabel = '<i class="xticon xticon-check"></i> ' . JText::_('JYES');
     $params->postthisNoLabel = '<i class="xticon xticon-times"></i> ' . JText::_('JNO');
     $params->descriptionLabel = JText::_('COM_AUTOTWEET_VIEW_ITEMEDITOR_MSG');
     $params->hashtagsLabel = JText::_('COM_AUTOTWEET_VIEW_ITEMEDITOR_HASHTAGS');
     $params->fulltextLabel = JText::_('COM_AUTOTWEET_VIEW_ITEMEDITOR_FULLTEXT_DESC');
     if (!isset($params->channels_text)) {
         $params->channels_text = '';
     }
     AutotweetBaseHelper::convertUTCLocalAgenda($params->agenda);
     $js = 'var autotweetAdvancedAttrs = ' . json_encode($params) . ";\n";
     $doc->addScriptDeclaration($js);
     $file = EHtml::getRelativeFile('js', 'com_autotweet/itemeditor.helper.min.js');
     if ($file) {
         $paths = array();
         $paths = array('text' => Extly::JS_LIB . 'require/text.min');
         $deps = array('itemeditor.helper' => array('text', 'underscore'));
         Extly::getScriptManager(false);
         Extly::initApp(CAUTOTWEETNG_VERSION, $file, $deps, $paths);
     }
     return $link;
 }