Esempio n. 1
0
 /**
  * Execute the task
  *
  * @param   array $taskData Task data
  *
  * @return bool True on success, false otherwise
  */
 public function run($taskData)
 {
     /* @var $db NenoDatabaseDriverMysqlx */
     $db = JFactory::getDbo();
     $query = $db->getQuery(true);
     $extensions = $db->quote(NenoHelper::whichExtensionsShouldBeTranslated());
     $query->select('e.*')->from('`#__extensions` AS e')->where(array('e.type IN (' . implode(',', $extensions) . ')', 'e.name NOT LIKE \'%neno\'', 'NOT EXISTS (SELECT 1 FROM #__neno_content_element_groups_x_extensions AS ge WHERE ge.extension_id = e.extension_id)'))->order('name');
     $db->setQuery($query);
     $extensions = $db->loadAssocList();
     foreach ($extensions as $extension) {
         NenoHelper::discoverExtension($extension);
     }
     return true;
 }
Esempio n. 2
0
 /**
  * Discover extension
  *
  * @param integer $extensionId Extension Id
  *
  * @return void
  */
 protected function discoverExtension($extensionId)
 {
     $db = JFactory::getDbo();
     $query = $db->getQuery(true);
     $extensions = $db->quote(NenoHelper::whichExtensionsShouldBeTranslated());
     $query->select('*')->from('#__extensions')->where(array('extension_id = ' . (int) $extensionId, 'type IN (' . implode(',', $extensions) . ')'));
     $db->setQuery($query);
     $extensionData = $db->loadAssoc();
     if (!empty($extensionData) && strpos($extensionData['element'], 'neno') === false) {
         NenoHelper::discoverExtension($extensionData);
     }
 }
Esempio n. 3
0
 /**
  * Init percents
  *
  * @return void
  */
 protected function initPercents()
 {
     $currentPercent = NenoSettings::get('current_percent', 0);
     if ($currentPercent == 0) {
         $db = JFactory::getDbo();
         $query = $db->getQuery(true);
         // This means to get a group that haven't been discovered yet
         $extensions = $db->quote(NenoHelper::whichExtensionsShouldBeTranslated());
         $query->clear()->select('COUNT(e.extension_id)')->from('`#__extensions` AS e')->where(array('e.type IN (' . implode(',', $extensions) . ')', 'e.name NOT LIKE \'%neno%\''))->order('name');
         $db->setQuery($query, 0, 1);
         $extensionsCounter = $db->loadResult();
         NenoSettings::set('percent_per_extension', 90 / ($extensionsCounter + 1));
     }
 }