public static function onCCK_Storage_LocationAfterRender(&$buffer, &$data, $uri = array()) { $app = JFactory::getApplication(); if ($uri['layout']) { return; } if ($uri['view'] == 'featured') { $data['return_view'] = 'featured'; $tag = '&return=featured'; } else { $data['return_view'] = ''; $tag = ''; } $class = JCck::on('3.4') ? ' class="hasTooltip"' : ''; $data['doIntegration'] = false; $data['multilanguage'] = $data['options']->get('multilanguage', 0); if ($data['multilanguage']) { $data['search'] = '#<a' . $class . ' href="(.*)index.php\\?option=com_content&task=article.edit' . $tag . '&id=([0-9]*)" (.*)>#U'; } else { $data['search'] = '#<a' . $class . ' href="(.*)index.php\\?option=com_content&task=article.edit' . $tag . '&id=([0-9]*)"#'; } $data['search_alt'] = '#<a href = "javascript://" onclick="listItemTask\\(\'cb([0-9]*)\', \'articles.archive\'\\)">(.*)</a>#sU'; if (JCckDevHelper::hasLanguageAssociations() && $data['multilanguage']) { $query = 'SELECT a.pk, a.cck, b.key, c.language FROM #__cck_core AS a' . ' LEFT JOIN #__associations AS b ON ( b.id = a.pk AND context = "com_content.item" )' . ' LEFT JOIN #__content AS c ON c.id = a.pk' . ' WHERE storage_location="joomla_article"'; $list_assoc = JCckDatabase::loadObjectListArray('SELECT a.id, a.key, b.language FROM #__associations AS a LEFT JOIN #__content AS b ON ( b.id = a.id AND a.context = "com_content.item" )', 'key', 'language'); } else { $query = 'SELECT pk, cck FROM #__cck_core WHERE storage_location="joomla_article"'; $list_assoc = array(); } $list = JCckDatabase::loadObjectList($query, 'pk'); $buffer = JCckDevIntegration::rewriteBuffer($buffer, $data, $list, $list_assoc); }
protected function getInput() { JPluginHelper::importPlugin('cck_field'); require_once JPATH_PLUGINS . '/cck_field_validation/required/required.php'; $name = 'core_options'; $override = array('rows' => 1); $storage = (string) $this->element['cck_storage_field_prefix']; $and = $storage != '' ? ' AND a.storage_field LIKE "' . $storage . '%"' : ''; $fields = JCckDatabase::loadObjectList('SELECT a.title as text, a.name as value FROM #__cck_core_fields AS a' . ' WHERE a.storage = "dev" AND a.id > 500' . $and . ' ORDER BY text'); $fields = is_array($fields) ? array_merge(array(JHtml::_('select.option', '', '- ' . JText::_('COM_CCK_ADD_A_FIELD') . ' -')), $fields) : array(); $html = JHtml::_('select.genericlist', $fields, 'fields_list', 'size="1" class="inputbox select" style="max-width:175px;"', 'value', 'text', '', 'fields_list'); $format = (string) $this->element['js_format']; $lang = JFactory::getLanguage(); $lang->load('com_cck'); $lang->load('com_cck_default', JPATH_SITE); if ($format != 'raw') { JCck::loadjQuery(true, true, true); } $force_id = (string) $this->element['id']; $config = array('asset' => '', 'asset_id' => 0, 'client' => '', 'doTranslation' => 1, 'doValidation' => 2, 'pk' => ''); if ($format == 'raw') { $config['tmpl'] = 'ajax'; } $inherit = $force_id != '' ? array('id' => (string) $this->element['id']) : array(); $field = JCckDevField::getObject($name); if (!$field) { return; } $storage_field = $field->storage_field; $field->storage_field = $this->name; $field = JCckDevField::get($field, $this->value, $config, $inherit, $override); $script = $this->_addScripts((string) $this->element['name'], array('value' => $this->value), $format); return $field->form . $html . $script; }
protected function prepareSidebar() { if (!JCck::on()) { return; } $buttons = array(); if (JCck::getUIX() == 'compact') { $core = array(array('val' => '2', 'pre' => '', 'key' => 'COM_CCK_')); } else { $core = array(array('val' => '0', 'pre' => '', 'key' => 'COM_CCK_', 'img' => 'cck-application'), array('val' => '2', 'pre' => '- ', 'key' => 'COM_CCK_', 'img' => 'cck-form'), array('val' => '3', 'pre' => '- ', 'key' => '', 'img' => 'cck-plugin'), array('val' => '4', 'pre' => '- ', 'key' => 'COM_CCK_', 'img' => 'cck-search'), array('val' => '1', 'pre' => '- ', 'key' => '', 'img' => 'cck-template'), array('val' => '5', 'pre' => '', 'key' => '', 'img' => 'cck-multisite')); } $components = JCckDatabase::loadObjectList('SELECT a.title, a.link, b.element' . ' FROM #__menu AS a LEFT JOIN #__extensions AS b ON b.extension_id = a.component_id' . ' WHERE a.link LIKE "index.php?option=com_cck\\_%"' . ' AND a.link NOT IN ("index.php?option=com_cck_toolbox&view=processing","index.php?option=com_cck_webservices&view=api")' . ' ORDER BY a.title ASC'); $groupedButtons = array(); $more = array('ADDON' => 16, 'PLUGIN_FIELD' => 19, 'PLUGIN_LINK' => 20, 'PLUGIN_LIVE' => 21, 'PLUGIN_RESTRICTION' => 112, 'PLUGIN_TYPOGRAPHY' => 24, 'PLUGIN_VALIDATION' => 25, 'TEMPLATE' => 27); foreach ($core as $k => $v) { $buttons[] = array('access' => array('core.manage', 'com_cck'), 'group' => 'COM_CCK_CORE', 'image' => $v['img'], 'link' => JRoute::_(constant('_C' . $v['val'] . '_LINK')), 'target' => '_self', 'text' => $v['pre'] . JText::_($v['key'] . constant('_C' . $v['val'] . '_TEXT') . 'S')); } foreach ($components as $k => $v) { $buttons[] = array('access' => array('core.manage', $v->element), 'group' => 'COM_CCK_SEBLOD_MORE', 'image' => 'cck-addon', 'link' => JRoute::_($v->link), 'target' => '_self', 'text' => $v->title); } foreach ($more as $k => $v) { $buttons[] = array('access' => array('core.manage', 'com_cck'), 'group' => 'COM_CCK_SEBLOD_COM', 'image' => 'download', 'link' => JRoute::_('http://www.seblod.com/products?seb_item_category=' . $v), 'target' => '_blank', 'text' => JText::_('COM_CCK_PANE_MORE_' . $k)); } foreach ($buttons as $button) { $groupedButtons[$button['group']][] = $button; } $this->sidebar = '<div class="sidebar-nav quick-icons">' . JHtml::_('links.linksgroups', $groupedButtons) . '</div>'; }
public static function addSubmenu($option, $vName) { $addons = array(); $items = array(); $uix = JCck::getUIX(); $vName2 = JFactory::getApplication()->input->get('filter_e_type', ''); if (JCck::on()) { $folder = JText::_('COM_CCK_' . _C0_TEXT . 'S'); if ($uix == 'compact') { $items = array(array('name' => $folder, 'link' => _C0_LINK, 'active' => $vName == _C0_NAME), array('val' => '2', 'pre' => '', 'key' => 'COM_CCK_')); } else { $items = array(array('name' => $folder, 'link' => _C0_LINK, 'active' => $vName == _C0_NAME), array('val' => '2', 'pre' => '- ', 'key' => 'COM_CCK_', 'active' => $vName == _C2_NAME || $vName == _C6_NAME && $vName2 == 'type'), array('val' => '3', 'pre' => '- ', 'key' => ''), array('val' => '4', 'pre' => '- ', 'key' => 'COM_CCK_', 'active' => $vName == _C4_NAME || $vName == _C6_NAME && $vName2 == 'search'), array('val' => '1', 'pre' => '- ', 'key' => '', 'active' => $vName == _C1_NAME || $vName == _C7_NAME), array('val' => '5', 'pre' => '', 'key' => '')); } if ($vName == 'cck') { $addons = JCckDatabase::loadObjectList('SELECT a.title, a.link, b.element FROM #__menu AS a LEFT JOIN #__extensions AS b ON b.extension_id = a.component_id' . ' WHERE a.link LIKE "index.php?option=com_cck\\_%" ORDER BY a.title ASC'); } } else { $folder = '<img src="' . JROOT_MEDIA_CCK . '/images/12/icon-12-folders.png" border="0" alt=" " width="12" height="12" />'; if ($uix == 'compact') { $items = array(array('val' => '2', 'pre' => '', 'key' => 'COM_CCK_'), array('name' => $folder, 'link' => _C0_LINK, 'active' => $vName == _C0_NAME)); } else { $items = array(array('val' => '2', 'pre' => '', 'key' => 'COM_CCK_'), array('val' => '3', 'pre' => '', 'key' => ''), array('val' => '4', 'pre' => '', 'key' => 'COM_CCK_'), array('val' => '1', 'pre' => '', 'key' => ''), array('name' => $folder, 'link' => _C0_LINK, 'active' => $vName == _C0_NAME), array('val' => '5', 'pre' => '', 'key' => '')); } } self::addSubmenuEntries($option, $vName, $items, $addons); }
public static function getFields($type, $client, $stage, $excluded, $idx, $cck = false) { // Client if ($client == 'all') { $where = ' WHERE b.name = "' . $type . '"'; } else { $where = ' WHERE b.name = "' . $type . '" AND c.client = "' . $client . '"'; } if ($stage > -1) { $where .= ' AND c.stage = ' . (int) $stage; } if ($excluded != '') { $where .= ' AND a.id NOT IN (' . $excluded . ')'; } //$where .= ' AND c.variation != "none"'; // Access $user = JFactory::getUser(); $access = implode(',', $user->getAuthorisedViewLevels()); $where .= ' AND c.access IN (' . $access . ')'; $query = 'SELECT DISTINCT a.*, c.client,' . ' c.label as label2, c.variation, c.variation_override, c.required, c.required_alert, c.validation, c.validation_options, c.live, c.live_options, c.live_value, c.markup, c.markup_class, c.stage, c.access, c.restriction, c.restriction_options, c.computation, c.computation_options, c.conditional, c.conditional_options, c.position' . ' FROM #__cck_core_fields AS a ' . ' LEFT JOIN #__cck_core_type_field AS c ON c.fieldid = a.id' . ' LEFT JOIN #__cck_core_types AS b ON b.id = c.typeid' . $where . ' ORDER BY c.ordering ASC'; $fields = $idx ? JCckDatabase::loadObjectList($query, 'name') : JCckDatabase::loadObjectList($query); //# if (!count($fields)) { $fields = array(); } return $fields; }
public static function loadObjectList($query, $key = null) { static $cache = array(); $idx = md5($query); if (!isset($cache[$idx])) { $cache[$idx] = parent::loadObjectList($query, $key); } return $cache[$idx]; }
public static function _setMultisite() { if ((int) self::getConfig_Param('multisite', 0)) { self::$_host = JURI::getInstance()->getHost(); self::$_sites = JCckDatabase::loadObjectList('SELECT id, title, name, guest, guest_only_viewlevel, groups, viewlevels, configuration, options FROM #__cck_core_sites WHERE published = 1', 'name'); return true; } else { return false; } }
public static function run($name) { $processings = JCckDatabase::loadObjectList('SELECT a.type, a.scriptfile, a.options' . ' FROM #__cck_more_processings AS a' . ' LEFT JOIN #__cck_more_job_processing AS b ON b.processing_id = a.id' . ' LEFT JOIN #__cck_more_jobs AS c ON c.id = b.job_id' . ' WHERE c.name = "' . $name . '" AND c.published = 1 AND a.published = 1' . ' ORDER BY b.id'); if (count($processings)) { foreach ($processings as $p) { if (is_object($p) && is_file(JPATH_SITE . $p->scriptfile)) { $options = new JRegistry($p->options); include_once JPATH_SITE . $p->scriptfile; } } } }
public static function quickSession($options, $id = 'featured_session') { $doc = JFactory::getDocument(); $css = ' ul.toolbar-tiplist {padding: 0px; margin-left:0px; margin-right:0px;} ul.toolbar-tiplist li { list-style: none; padding: 5px;} ul.toolbar-tiplist li:hover {background-color: #ffffff; -webkit-border-radius: 1px; -moz-border-radius: 1px; border-radius: 1px;} .ui-tooltip-grey .ui-tooltip-content{background-color: #ffffff;} .ui-tooltip-rounded .ui-tooltip-titlebar{-webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px;} .ui-tooltip-rounded .ui-tooltip-titlebar + .ui-tooltip-content{-webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px;} '; $doc->addStyleDeclaration($css); $doc->addStyleSheet(JURI::root(true) . '/media/cck/scripts/jquery-qtip/css/jquery.qtip.css'); JCck::loadjQuery(); $doc->addScript(JURI::root(true) . '/media/cck/scripts/jquery-qtip/js/jquery.qtip.min.js'); $title = JText::_('COM_CCK_SESSIONS_SAVE_SELECT'); $html = ''; $where = 'extension="' . $options['extension'] . '"'; if (isset($options['folder'])) { $where .= 'type="' . $options['folder'] . '"'; } if (isset($options['type'])) { $where .= 'type="' . $options['type'] . '"'; } $items = JCckDatabase::loadObjectList('SELECT id, title, type, options FROM #__cck_more_sessions WHERE ' . $where . ' ORDER BY title'); if (!count($items)) { return; } foreach ($items as $item) { $html .= '<li><a class="featured_sessions" href="javascript:void(0);" mydata="' . $item->type . '"' . 'mydata2="' . htmlspecialchars($item->options) . '">' . $item->title . '</a>' . '<img class="featured_sessions_del" src="' . JROOT_MEDIA_CCK . '/images/14/icon-14-trash.png" mydata="' . $item->id . '" /></li>'; } // Tooltip $html = '<div><ul class="toolbar-tiplist">' . $html . '</ul></div>' . '<div class="clr"></div>'; $search = array('.', '<', '>', '"', '%', ';'); $replace = array('\\.', '\\<', '\\>', '\\"', '\\%', '\\;'); $html = preg_replace("/(\r\n|\n|\r)/", " ", $html); $html = str_replace($search, $replace, $html); $js = ' jQuery(document).ready(function($){ $("#' . $id . '").qtip({ prerender: true, content: { text: "' . $html . '", title: { text: "' . $title . '" } }, hide: { event: "unfocus" }, style: { tip: true, classes: "ui-tooltip-grey ui-tooltip-rounded" }, position: { at: "right center", my: "left center", adjust: { x: 23 } } }); }); '; $doc->addScriptDeclaration($js); }
public function getItems() { if ($items = parent::getItems()) { $group_map = JCckDatabase::loadObjectList('SELECT a.group_id, COUNT( DISTINCT a.user_id ) AS num FROM #__user_usergroup_map AS a GROUP BY a.group_id', 'group_id'); foreach ($items as $item) { $viewlevels = $item->guest_only_viewlevel ? $item->guest_only_viewlevel . ',' . $item->viewlevels : $item->viewlevels; $query = 'SELECT COUNT(a.id) FROM #__cck_core AS a LEFT JOIN #__content AS b ON b.id = a.pk WHERE a.storage_location = "joomla_article" AND b.access IN (' . $viewlevels . ');'; $item->articles = JCckDatabase::loadResult($query); $groups = $item->guest_only_group ? $item->guest_only_group . ',' . $item->groups : $item->groups; $query = 'SELECT COUNT(DISTINCT a.user_id) FROM #__user_usergroup_map AS a WHERE a.group_id IN (' . $groups . ');'; $item->users = JCckDatabase::loadResult($query); } } return $items; }
public function getItems() { if ($items = parent::getItems()) { $templates = JCckDatabase::loadObjectList('SELECT a.folder, COUNT( a.folder ) AS num FROM #__cck_core_templates AS a GROUP BY a.folder', 'folder'); $types = JCckDatabase::loadObjectList('SELECT a.folder, COUNT( a.folder ) AS num FROM #__cck_core_types AS a GROUP BY a.folder', 'folder'); $fields = JCckDatabase::loadObjectList('SELECT a.folder, COUNT( a.folder ) AS num FROM #__cck_core_fields AS a GROUP BY a.folder', 'folder'); $searchs = JCckDatabase::loadObjectList('SELECT a.folder, COUNT( a.folder ) AS num FROM #__cck_core_searchs AS a GROUP BY a.folder', 'folder'); foreach ($items as $item) { $item->templates_nb = @$templates[$item->id]->num ? $templates[$item->id]->num : 0; $item->types_nb = @$types[$item->id]->num ? $types[$item->id]->num : 0; $item->fields_nb = @$fields[$item->id]->num ? $fields[$item->id]->num : 0; $item->searchs_nb = @$searchs[$item->id]->num ? $searchs[$item->id]->num : 0; } } return $items; }
public static function createVersion($type, $pk, $note = '', $update = false) { $table = JTable::getInstance($type, 'CCK_Table'); $table->load($pk); // Core if (isset($table->asset_id)) { $table->rules = JCckDatabase::loadResult('SELECT rules FROM #__assets WHERE id = ' . (int) $table->asset_id); } $version_num = $table->version; if ($update !== false) { unset($table->rules); $table->version++; $table->store(); } // Version $version = JTable::getInstance('version', 'CCK_Table'); $version->e_id = $table->id; $version->e_title = $table->title; $version->e_name = $table->name; $version->e_type = $type; $version->e_core = JCckDev::toJSON($table); $version->e_version = $version_num; $version->date_time = JFactory::getDate()->toSql(); $version->user_id = JFactory::getUser()->get('id'); if ($note) { $version->note = $note; } // More $clients = $type == 'search' ? array(1 => 'search', 2 => 'filter', 3 => 'list', 4 => 'item', 5 => 'order') : array(1 => 'admin', 2 => 'site', 3 => 'intro', 4 => 'content'); $count = 0; $e_more = array(); foreach ($clients as $i => $client) { $name = 'e_more' . $i; $fields = JCckDatabase::loadObjectList('SELECT * FROM #__cck_core_' . $type . '_field WHERE ' . $type . 'id = ' . $pk . ' AND client ="' . $client . '" ORDER BY ordering'); $positions = JCckDatabase::loadObjectList('SELECT * FROM #__cck_core_' . $type . '_position WHERE ' . $type . 'id = ' . $pk . ' AND client ="' . $client . '"'); $data = array('fields' => $fields, 'positions' => $positions); $e_more[$i] = (string) count($fields); $version->{$name} = JCckDev::toJSON($data); } $version->e_more = JCckDev::toJSON(array('fields' => $e_more)); // -- $version->check(); if (!$version->store()) { return false; } return true; }
function delete($pks = array()) { JPluginHelper::importPlugin('content'); JPluginHelper::importPlugin('cck_storage_location'); $nb = 0; $pks_in = implode(',', $pks); $items = JCckDatabase::loadObjectList('SELECT a.id, a.cck, a.pk, a.pkb, a.storage_location, a.storage_table, a.author_id, b.id as type_id FROM #__cck_core as a' . ' LEFT JOIN #__cck_core_types AS b ON b.name = a.cck' . ' WHERE a.id IN (' . $pks_in . ')', 'id'); $config = array('author' => 0, 'type' => '', 'type_id' => 0); foreach ($pks as $pk) { $location = $items[$pk]->storage_location; if ($location) { $config['author'] = $items[$pk]->author_id; $config['type'] = $items[$pk]->cck; $config['type_id'] = $items[$pk]->type_id; if (JCck::callFunc_Array('plgCCK_Storage_Location' . $location, 'onCCK_Storage_LocationDelete', array($items[$pk]->pk, &$config))) { $nb++; } } } return $nb; }
public function getItems() { if ($items = parent::getItems()) { $search = JCckDatabase::loadObjectList('SELECT a.searchid, COUNT( a.searchid ) AS num FROM #__cck_core_search_field AS a' . ' WHERE a.client = "search" GROUP BY a.searchid', 'searchid'); $order = JCckDatabase::loadObjectList('SELECT a.searchid, COUNT( a.searchid ) AS num FROM #__cck_core_search_field AS a' . ' WHERE a.client = "order" GROUP BY a.searchid', 'searchid'); $list = JCckDatabase::loadObjectList('SELECT a.searchid, COUNT( a.searchid ) AS num FROM #__cck_core_search_field AS a' . ' WHERE a.client = "list" GROUP BY a.searchid', 'searchid'); $item = JCckDatabase::loadObjectList('SELECT a.searchid, COUNT( a.searchid ) AS num FROM #__cck_core_search_field AS a' . ' WHERE a.client = "item" GROUP BY a.searchid', 'searchid'); $version = JCckDatabase::loadObjectList('SELECT a.e_id, COUNT( a.e_id ) AS num FROM #__cck_core_versions AS a' . ' WHERE a.e_type = "search" GROUP BY a.e_id', 'e_id'); $styles = JCckDatabase::loadObjectList('SELECT a.id, a.template FROM #__template_styles AS a', 'id'); foreach ($items as $i) { $i->searchFields = @$search[$i->id]->num ? $search[$i->id]->num : 0; $i->orderFields = @$order[$i->id]->num ? $order[$i->id]->num : 0; $i->listFields = @$list[$i->id]->num ? $list[$i->id]->num : 0; $i->itemFields = @$item[$i->id]->num ? $item[$i->id]->num : 0; $i->searchTemplate = @$styles[$i->template_search]->template; $i->orderTemplate = ''; $i->listTemplate = @$styles[$i->template_list]->template; $i->itemTemplate = @$styles[$i->template_item]->template; $i->versions = @$version[$i->id]->num ? $version[$i->id]->num : 0; } } return $items; }
public function getItems() { if ($items = parent::getItems()) { $admin = JCckDatabase::loadObjectList('SELECT a.typeid, COUNT( a.typeid ) AS num FROM #__cck_core_type_field AS a' . ' WHERE a.client = "admin" GROUP BY a.typeid', 'typeid'); $site = JCckDatabase::loadObjectList('SELECT a.typeid, COUNT( a.typeid ) AS num FROM #__cck_core_type_field AS a' . ' WHERE a.client = "site" GROUP BY a.typeid', 'typeid'); $intro = JCckDatabase::loadObjectList('SELECT a.typeid, COUNT( a.typeid ) AS num FROM #__cck_core_type_field AS a' . ' WHERE a.client = "intro" GROUP BY a.typeid', 'typeid'); $content = JCckDatabase::loadObjectList('SELECT a.typeid, COUNT( a.typeid ) AS num FROM #__cck_core_type_field AS a' . ' WHERE a.client = "content" GROUP BY a.typeid', 'typeid'); $version = JCckDatabase::loadObjectList('SELECT a.e_id, COUNT( a.e_id ) AS num FROM #__cck_core_versions AS a' . ' WHERE a.e_type = "type" GROUP BY a.e_id', 'e_id'); $styles = JCckDatabase::loadObjectList('SELECT a.id, a.template FROM #__template_styles AS a', 'id'); foreach ($items as $i) { $i->adminFields = @$admin[$i->id]->num ? $admin[$i->id]->num : 0; $i->siteFields = @$site[$i->id]->num ? $site[$i->id]->num : 0; $i->introFields = @$intro[$i->id]->num ? $intro[$i->id]->num : 0; $i->contentFields = @$content[$i->id]->num ? $content[$i->id]->num : 0; $i->adminTemplate = @$styles[$i->template_admin]->template; $i->siteTemplate = @$styles[$i->template_site]->template; $i->introTemplate = @$styles[$i->template_intro]->template; $i->contentTemplate = @$styles[$i->template_content]->template; $i->versions = @$version[$i->id]->num ? $version[$i->id]->num : 0; } } return $items; }
public static function getForms($url = '', &$type = '', $grouping = '') { $app = JFactory::getApplication(); $items = array(); if (is_object($url)) { $option = $url->get('option', ''); $view = $url->get('view', ''); } elseif ($url != 'none') { $option = $app->input->get('option', ''); $view = $app->input->get('view', ''); } else { $option = ''; } $in = ''; $where = ''; if ($option) { $where = 'WHERE a.component = "' . $option . '"'; if ($view) { $where .= ' AND ( a.view = "' . $view . '" OR a.view = "" )'; } } $locations = JCckDatabase::loadObjectList('SELECT a.name, a.vars FROM #__cck_core_objects AS a ' . $where); if (count($locations)) { $state = true; foreach ($locations as $location) { if ($location->vars) { $state = JCckDevHelper::matchUrlVars($location->vars, $url); } if ($state !== false) { $in .= '"' . $location->name . '",'; } } } if ($in) { $type = substr($in, 1, -2); $in .= '""'; if ($grouping == 'folder') { $call = 'loadObjectListArray'; $index = 'folder_id'; $order_by = ' ORDER BY folder ASC, title ASC'; } else { $call = 'loadObjectList'; $index = NULL; $order_by = ' ORDER BY title'; } $items = JCckDatabase::$call('SELECT a.id, a.title, a.name, a.description, b.id as folder_id, b.title as folder, b.app as folder_app, b.icon_path as folder_icon' . ' FROM #__cck_core_types AS a' . ' LEFT JOIN #__cck_core_folders AS b ON b.id = a.folder' . ' WHERE a.published = 1 AND a.location != "none" AND a.location != "site"' . ' AND a.storage_location IN (' . $in . ')' . $order_by, $index); } return $items; }
protected static function _link($link, &$field, &$config) { $app = JFactory::getApplication(); $custom = $link->get('custom', ''); $form = $link->get('form', ''); $edit = $link->get('form_edition', 1); $edit = !$form && $edit ? '&id=' . $config['pk'] : ''; $form = $form ? $form : $config['type']; $itemId = $link->get('itemid', $app->input->getInt('Itemid', 0)); $redirection = $link->get('redirection', ''); $uri = (string) JFactory::getUri(); if (strpos($uri, 'format=raw&infinite=1') !== false) { $return = $app->input->get('return'); } else { $return = base64_encode($uri); } if (!$form) { return; } // Check if ($edit != '') { static $cache = array(); $stage = $link->get('form_edition_stage', ''); if ($stage != '') { $edit .= '&stage=' . (int) $stage; } $user = JCck::getUser(); $canEdit = $user->authorise('core.edit', 'com_cck.form.' . $config['type_id']); // if ( $user->id && !$user->guest ) { $canEditOwn = $user->authorise('core.edit.own', 'com_cck.form.' . $config['type_id']); // } else { // $canEditOwn = false; // todo: guest // } $canEditOwnContent = ''; // canEditOwnContent jimport('cck.joomla.access.access'); $canEditOwnContent = CCKAccess::check($user->id, 'core.edit.own.content', 'com_cck.form.' . $config['type_id']); if ($canEditOwnContent) { $field2 = JCckDatabaseCache::loadObject('SELECT storage, storage_table, storage_field FROM #__cck_core_fields WHERE name = "' . $canEditOwnContent . '"'); $canEditOwnContent = false; if (is_object($field2) && $field2->storage == 'standard') { $pks = isset($config['pks']) ? $config['pks'] : $config['pk']; $query = 'SELECT ' . $field2->storage_field . ' as map, id FROM ' . $field2->storage_table . ' WHERE id IN (' . $pks . ')'; $index = md5($query); if (!isset($cache[$index])) { $cache[$index . '_pks'] = JCckDatabase::loadObjectList($query, 'id'); $values = array(); if (count($cache[$index . '_pks'])) { foreach ($cache[$index . '_pks'] as $p) { $values[] = $p->map; } } $values = count($values) ? implode(',', $values) : '0'; $cache[$index] = JCckDatabase::loadObjectList('SELECT author_id, pk FROM #__cck_core WHERE storage_location = "joomla_article" AND pk IN ( ' . $values . ' )', 'pk'); } if (isset($cache[$index . '_pks'][$config['pk']]) && isset($cache[$index][$cache[$index . '_pks'][$config['pk']]->map]) && $cache[$index][$cache[$index . '_pks'][$config['pk']]->map]->author_id == $user->get('id')) { $canEditOwnContent = true; } } } else { $canEditOwnContent = ''; } // Check Permissions if (!($canEdit && $canEditOwn || $canEdit && !$canEditOwn && $config['author'] != $user->get('id') || $canEditOwn && $config['author'] == $user->get('id') || $canEditOwnContent)) { if (!$link->get('no_access', 0)) { $field->display = 0; } return; } } elseif ($form != '') { $user = JCck::getUser(); $type_id = (int) JCckDatabase::loadResult('SELECT id FROM #__cck_core_types WHERE name = "' . $form . '"'); $canCreate = $type_id ? $user->authorise('core.create', 'com_cck.form.' . $type_id) : false; // Check Permissions if (!$canCreate) { return; } } // Prepare $link_class = $link->get('class', ''); $link_rel = $link->get('rel', ''); $link_target = $link->get('target', ''); $link_title = $link->get('title', ''); $link_title2 = $link->get('title_custom', ''); $tmpl = $link->get('tmpl', ''); $tmpl = $tmpl ? '&tmpl=' . $tmpl : ''; $vars = $tmpl; // + live /* if ( $config['client'] == 'admin' || $config['client'] == 'site' || $config['client'] == 'search' ) { $redirection = '-1'; // todo } */ // Set if (is_array($field->value)) { foreach ($field->value as $f) { $c = $custom; $c = parent::g_getCustomSelfVars(self::$type, $f, $c, $config); $c = $c ? '&' . $c : ''; $f->link = 'index.php?option=com_cck&view=form&layout=edit&type=' . $form . $edit . $vars . '&Itemid=' . $itemId . $c; if ($redirection != '-1') { $f->link .= '&return=' . $return; } $f->link = JRoute::_($f->link); $f->link_class = $link_class ? $link_class : (isset($f->link_class) ? $f->link_class : ''); $f->link_rel = $link_rel ? $link_rel : (isset($f->link_rel) ? $f->link_rel : ''); $f->link_state = $link->get('state', 1); $f->link_target = $link_target ? $link_target : (isset($f->link_target) ? $f->link_target : ''); $f->link_title = $link_title ? $link_title == '2' ? $link_title2 : (isset($f->link_title) ? $f->link_title : '') : ''; } $field->link = '#'; //todo } else { $custom = parent::g_getCustomVars(self::$type, $field, $custom, $config); $field->link = JRoute::_('index.php?option=com_cck&view=form&layout=edit&type=' . $form . $edit . $vars . '&Itemid=' . $itemId); $separator = strpos($field->link, '?') !== false ? '&' : '?'; if ($custom) { $field->link .= $separator . $custom; $separator = '&'; } if ($redirection != '-1') { $field->link .= $separator . 'return=' . $return; } $field->link_class = $link_class ? $link_class : (isset($field->link_class) ? $field->link_class : ''); $field->link_rel = $link_rel ? $link_rel : (isset($field->link_rel) ? $field->link_rel : ''); $field->link_state = $link->get('state', 1); $field->link_target = $link_target ? $link_target : (isset($field->link_target) ? $field->link_target : ''); $field->link_title = $link_title ? $link_title == '2' ? $link_title2 : (isset($field->link_title) ? $field->link_title : '') : ''; } }
public static function _setMultisite() { if ((int) self::getConfig_Param('multisite', 0)) { $alias = ''; $host = JURI::getInstance()->getHost(); $path = JURI::getInstance()->getPath(); $host2 = ''; if ($path) { $path = substr($path, 1); $path = substr($path, 0, strpos($path, '/')); $host2 = $host . '/' . $path; } self::$_sites = JCckDatabase::loadObjectList('SELECT id, title, name, aliases, guest, guest_only_viewlevel, groups, viewlevels, configuration, options FROM #__cck_core_sites WHERE published = 1', 'name'); if (count(self::$_sites)) { $break = 0; foreach (self::$_sites as $s) { if ($s->aliases != '') { $aliases = explode('||', $s->aliases); if (count($aliases)) { foreach ($aliases as $a) { if (strpos($a, '/') !== false) { if ($a == $host2) { $alias = $a; $host = $s->name; $break = 1; break; } } else { if ($a == $host) { $alias = $a; $host = $s->name; $break = 1; break; } } } } if ($break) { break; } } } } self::$_host = $host; if (isset(self::$_sites[$host])) { self::$_sites[$host]->host = $alias ? $alias : self::$_sites[$host]->name; } return true; } else { return false; } }
public function onCCK_Storage_LocationSearch($type, $tables, $fields, $fields_order, &$config, &$inherit, &$results) { if (self::$type != $type) { return; } if ($config['doQuery'] === false && isset($config['query']) && $config['query']) { if (isset($config['query_variables']) && count($config['query_variables'])) { foreach ($config['query_variables'] as $var) { if ($var != '') { JCckDatabase::execute($var); } } } $results = JCckDatabase::loadObjectList($config['query']); $inherit['query'] = $config['query']; unset($config['query']); } }
public static function buildMenu($mode, $menutitle, $moduleid, $com, $more = array()) { $app = JFactory::getApplication(); $empty = false; $label = $menutitle; $menu = new JAdminCSSCCKMenu(); $uix = JCck::getUIX(); if ($mode == 1 || $mode == 2) { if ($uix == 'compact') { $menu->addChild(new JCCKMenuNode($label, 'index.php?option=com_cck'), true); if ($mode == 2 && JFactory::getUser()->authorise('core.manage', 'com_cck')) { $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_FORM_MANAGER'), 'index.php?option=com_cck&view=types', 'class:type-manager'), true); if ($more['new'] == 1) { $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_NEW'), 'index.php?option=com_cck&view=types&task=type.add', 'class:newarticle')); } $menu->getParent(); $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_APP_FOLDER_MANAGER'), 'index.php?option=com_cck&view=folders', 'class:folder-manager'), true); if ($more['new'] == 1) { $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_NEW'), 'index.php?option=com_cck&view=folders&task=folder.add', 'class:newarticle')); } $menu->getParent(); } } else { $menu->addChild(new JCCKMenuNode($label, 'index.php?option=com_cck'), true); if ($mode == 2 && JFactory::getUser()->authorise('core.manage', 'com_cck')) { $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_CONTENT_TYPE_MANAGER'), 'index.php?option=com_cck&view=types', 'class:type-manager'), true); if ($more['new'] == 1) { $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_NEW'), 'index.php?option=com_cck&view=types&task=type.add', 'class:newarticle')); } $menu->getParent(); $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_FIELD_MANAGER'), 'index.php?option=com_cck&view=fields', 'class:field-manager'), true); if ($more['new'] == 1) { $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_NEW'), 'index.php?option=com_cck&view=fields&task=field.add', 'class:newarticle')); } $menu->getParent(); $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_SEARCH_TYPE_MANAGER'), 'index.php?option=com_cck&view=searchs', 'class:search-manager'), true); if ($more['new'] == 1) { $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_NEW'), 'index.php?option=com_cck&view=searchs&task=search.add', 'class:newarticle')); } $menu->getParent(); $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_TEMPLATE_MANAGER'), 'index.php?option=com_cck&view=templates', 'class:template-manager'), true); if ($more['new'] == 1) { $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_NEW'), 'index.php?option=com_cck&view=templates&task=template.add', 'class:newarticle')); } $menu->getParent(); $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_APP_FOLDER_MANAGER'), 'index.php?option=com_cck&view=folders', 'class:folder-manager'), true); if ($more['new'] == 1) { $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_NEW'), 'index.php?option=com_cck&view=folders&task=folder.add', 'class:newarticle')); } $menu->getParent(); $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_SITE_MANAGER'), 'index.php?option=com_cck&view=sites', 'class:site-manager'), true); if ($more['new'] == 1) { $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_NEW'), 'index.php?option=com_cck&view=folders&task=site.add', 'class:newarticle')); } $menu->getParent(); } } $menu->addSeparator(); $menu->addChild(new JCCKMenuNode('SEBLOD.com', 'http://www.seblod.com/', 'class:cck', false, '_blank'), true); $menu->addChild(new JCCKMenuNode('Community', 'http://www.seblod.com/community', 'class:cck', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Blog', 'http://www.seblod.com/community/blog', '', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Events', 'http://www.seblod.com/community/events', '', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Forums', 'http://www.seblod.com/community/forums', '', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Showcase', 'http://www.seblod.com/community/showcase', '', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Social Hub', 'http://www.seblod.com/community/social-hub', '', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Testimonials', 'http://www.seblod.com/community/testimonials', '', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Users', 'http://www.seblod.com/community/users', '', false, '_blank')); $menu->addSeparator(); $menu->addChild(new JCCKMenuNode('Products', 'http://www.seblod.com/products', 'class:cck', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Editor\'s Picks', 'http://www.seblod.com/products/editors-picks', '', false, '_blank')); $menu->addChild(new JCCKMenuNode('- New', 'http://www.seblod.com/products/new', '', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Popular', 'http://www.seblod.com/products/popular', '', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Top', 'http://www.seblod.com/products/top', '', false, '_blank')); $menu->addSeparator(); $menu->addChild(new JCCKMenuNode('Resources', 'http://www.seblod.com/resources', 'class:cck', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Books', 'http://www.seblod.com/resources/books', '', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Manuals', 'http://www.seblod.com/resources/manuals', '', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Marketing', 'http://www.seblod.com/resources/marketing', '', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Tracker', 'http://www.seblod.com/resources/tracker', '', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Tutorials', 'http://www.seblod.com/resources/tutorials', '', false, '_blank')); $menu->addChild(new JCCKMenuNode('- Videos', 'http://www.seblod.com/resources/videos', '', false, '_blank')); $menu->addSeparator(); $menu->getParent(); } elseif ($mode == 3) { $uix_ecommerce = JCckEcommerce::getUIX(); $product_manager = JComponentHelper::getParams('com_cck_ecommerce')->get('product_manager_link'); $menu->addChild(new JCCKMenuNode($label, 'index.php?option=com_cck_ecommerce'), true); $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_CART_MANAGER'), 'index.php?option=com_cck_ecommerce&view=carts', 'class:cart-manager'), true); $menu->getParent(); if ($uix_ecommerce == 'full') { $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_ORDER_MANAGER'), 'index.php?option=com_cck_ecommerce&view=orders', 'class:order-manager'), true); $menu->getParent(); if ($more['ecommerce']) { $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_PAYMENT_MANAGER'), 'index.php?option=com_cck_ecommerce&view=payments', 'class:payment-manager'), true); $menu->getParent(); } if ($product_manager) { $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_PRODUCT_MANAGER'), $product_manager, 'class:product-manager'), true); $menu->getParent(); } if ($more['ecommerce']) { $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_SHIPPING_MANAGER'), 'index.php?option=com_cck_ecommerce&view=shippings', 'class:shipping-manager'), true); $menu->getParent(); } $menu->addChild(new JCCKMenuNode(JText::_('MOD_CCK_MENU_STORE_MANAGER'), 'index.php?option=com_cck_ecommerce&view=stores', 'class:store-manager'), true); $menu->getParent(); } } elseif ($mode == 4) { $items = JCckDatabase::loadObjectList('SELECT title as text, name as value, id FROM #__cck_core_types' . ' WHERE published = 1 AND location != "none" AND location != "site" AND storage_location != "none" ORDER BY text'); $menu->addChild(new JCCKMenuNode($label), true); if (count($items)) { $link = 'index.php?option=com_cck&view=form&type='; $user = JFactory::getUser(); foreach ($items as $item) { if ($user->authorise('core.create', 'com_cck.form.' . $item->id)) { $text = strlen($item->text) > 30 ? substr($item->text, 0, 30) . '..' : $item->text; $menu->addChild(new JCCKMenuNode(JText::_($text), $link . $item->value, 'newarticle')); } } } } elseif ($mode == 5) { $user = JFactory::getUser(); $groups = implode(',', $user->getAuthorisedViewLevels()); $items = JCckDatabase::loadObjectList('SELECT title as text, name as value, id FROM #__cck_core_searchs' . ' WHERE published = 1 AND location !="none" AND location != "site" AND access IN (' . $groups . ') ORDER BY text'); $menu->addChild(new JCCKMenuNode($label), true); if (count($items)) { $link = 'index.php?option=com_cck&view=list&search='; $user = JFactory::getUser(); foreach ($items as $item) { $text = strlen($item->text) > 30 ? substr($item->text, 0, 30) . '..' : $item->text; $menu->addChild(new JCCKMenuNode(JText::_($text), $link . $item->value, 'component')); } } } elseif ($mode == 6) { $addons = JCckDatabase::loadObjectList('SELECT a.element, b.title FROM #__extensions AS a' . ' LEFT JOIN #__menu AS b on b.component_id = a.extension_id' . ' WHERE a.type = "component" AND a.element LIKE "com_cck\\_%" ORDER BY title'); $menu->addChild(new JCCKMenuNode($label), true); if (count($addons)) { foreach ($addons as $addon) { $menu->addChild(new JCCKMenuNode($addon->title, 'index.php?option=' . $addon->element, 'component')); } } } else { $empty = true; if (strpos($label, 'icon-16-') !== false) { $class = str_replace('icon-16-', '', $label) . '||root-icon-position'; $label = ' '; } else { $class = ''; } $menu->addChild(new JCCKMenuNode($label, '#', $class), true); } if (count($com)) { if (!$empty) { $menu->addSeparator(); } foreach ($com as $key => $item) { $link = null; $link = explode('||', $item); if (strpos($key, 'free') === false) { $link[1] = $link[1]; $link[2] = $link[2] ? $link[2] : 'component'; } else { $link[2] = $link[2] ? str_replace(array('icon-16-', '.png'), '', $link[2]) : 'component'; } $menu->addChild(new JCCKMenuNode(JText::_($link[0]), $link[1], $link[2])); } } $menu->getParent(); // TK added menutitle to menuname $menu->renderMenu('cck_menu_jseblod' . $moduleid, ''); }
public function prepareExport($id = 0, $elements = array(), $dependencies = array(), $options = array()) { $config = JFactory::getConfig(); $tmp_path = $config->get('tmp_path'); $tmp_dir = uniqid('cck_'); $path = $tmp_path . '/' . $tmp_dir; $folders = isset($elements['subfolders']) ? Helper_Folder::getBranch($id, ',') : $id; $folders = JCckDatabase::loadObjectList('SELECT * FROM #__cck_core_folders WHERE id IN (' . (string) $folders . ') ORDER BY lft'); if (!@$folders[0]) { return; } $isApp = false; $isCck = false; $name = $folders[0]->name; if (!$name) { return; } // Core jimport('joomla.filesystem.file'); jimport('cck.base.install.export'); $data = array('root' => $path, 'root_content' => $path . '/content', 'root_elements' => $path . '/elements', 'root_extensions' => $path . '/extensions', 'root_sql' => $path . '/sql', 'root_category' => '', 'elements' => array(), 'db_prefix' => $config->get('dbprefix')); $extensions = array(0 => (object) array('type' => 'plugin', 'id' => 'plg_system_blank', 'group' => 'system', '_file' => 'plg_system_blank.zip')); $data['folders'] = JCckDatabase::loadObjectList('SELECT id, name, path FROM #__cck_core_folders WHERE lft', 'id'); $data['folders2'] = JCckDatabase::loadObjectList('SELECT id, name, path FROM #__cck_core_folders WHERE lft', 'name'); $data['plugins'] = CCK_Export::getCorePlugins(); $data['plugins']['cck_field_live']['stage'] = true; $data['processings'] = JCckDatabase::loadObjectList('SELECT * FROM #__cck_more_processings', 'id'); $data['processings2'] = JCckDatabase::loadObjectList('SELECT folder FROM #__cck_more_processings', 'folder'); $data['styles'] = JCckDatabase::loadObjectList('SELECT * FROM #__template_styles', 'id'); $data['tables'] = array_flip(JCckDatabase::loadColumn('SHOW TABLES')); $data['tables_excluded'] = CCK_Export::getCoreTables(); $data['variations'] = array('empty' => true, 'joomla' => true, 'seb_css3' => true, 'seb_css3b' => true); // Copyright if (JCckDatabase::loadResult('SELECT extension_id FROM #__extensions WHERE type = "component" AND element = "com_cck_packager"') > 0) { $params = JComponentHelper::getParams('com_cck_packager'); $copyright = $params->get('copyright'); } else { $copyright = ''; } CCK_Export::createDir($data['root_content']); CCK_Export::createDir($data['root_elements']); CCK_Export::createDir($data['root_extensions']); CCK_Export::createDir($data['root_sql']); if (isset($dependencies['categories'])) { $data['root_category'] = CCK_Export::exportRootCategory($folders['0'], $data, $extensions); } if (isset($dependencies['menu'])) { $data['root_menu'] = CCK_Export::exportMenus($dependencies['menu'], $data, $extensions); } foreach ($folders as $i => $folder) { if ($i == 0) { if ($folder->path && $folder->path != $folder->name) { $branch = explode('/', $folder->path); array_pop($branch); if (count($branch)) { $parent_id = 2; foreach ($branch as $k => $v) { $elem = JCckDatabase::loadObject('SELECT * FROM #__cck_core_folders WHERE name = "' . (string) $v . '" AND parent_id = ' . (int) $parent_id); $parent_id = $elem->id; CCK_Export::createDir($data['root_elements'] . '/folder' . 's'); CCK_Export::exportElement('folder', $elem, $data, $extensions, 0); } } } } CCK_Export::exportElements('folder', $folders, $data, $extensions, 0, $copyright); if (isset($elements['fields'])) { $fields = JCckDatabase::loadObjectList('SELECT a.* FROM #__cck_core_fields AS a WHERE a.folder = ' . (int) $folder->id); CCK_Export::exportElements('field', $fields, $data, $extensions, 500, $copyright); } if (isset($elements['templates'])) { $templates = JCckDatabase::loadObjectList('SELECT a.* FROM #__cck_core_templates AS a WHERE a.folder = ' . (int) $folder->id); CCK_Export::exportElements('template', $templates, $data, $extensions, 0, $copyright); } if (isset($elements['types'])) { $types = JCckDatabase::loadObjectList('SELECT a.* FROM #__cck_core_types AS a WHERE a.folder = ' . (int) $folder->id); if (count($types)) { $isApp = true; } CCK_Export::exportElements('type', $types, $data, $extensions, 0, $copyright); } if (isset($elements['searchs'])) { $searchs = JCckDatabase::loadObjectList('SELECT a.* FROM #__cck_core_searchs AS a WHERE a.folder = ' . (int) $folder->id); if (count($searchs)) { $isApp = true; } CCK_Export::exportElements('search', $searchs, $data, $extensions, 0, $copyright); } } if (count($data['elements']['tables'])) { CCK_Export::exportTables($data); } if (count($data['elements']['processings'])) { $isCck = true; CCK_Export::exportProcessings($data, $extensions); } // Name & Root if ($isApp) { $filename = 'app_cck_' . $name; } else { if ($isCck) { $filename = 'cck_' . $name; } else { $filename = $name; } if (isset($dependencies['categories']) && file_exists($data['root_content'] . '/joomla_category')) { $items = JFolder::files($data['root_content'] . '/joomla_category', '\\.xml$'); if (count($items) == 1 && isset($items[0]) && $data['root_category'] != '' && JFile::stripExt($items[0]) == $data['root_category']) { JFolder::delete($data['root_content'] . '/joomla_category'); } } } // Elements if ($copyright) { CCK_Export::update($data['root_elements'], $copyright); } // Xml $folders[0]->description = 'SEBLOD 3.x ' . $folders[0]->title . ' App - www.seblod.com'; $folders[0]->name = $filename; $folders[0]->title = 'pkg_' . $folders['0']->name; $manifest = NULL; $xml = CCK_Export::preparePackage($folders[0]); if (is_object($xml)) { $manifest = JPATH_ADMINISTRATOR . '/manifests/packages/pkg_' . $filename . '.xml'; if (is_file($manifest)) { if ($copyright) { CCK_Export::update($manifest, $copyright); } $manifest = JCckDev::fromXML($manifest); $tags = array('copyright', 'creationDate', 'description', 'packager', 'packageurl', 'version'); if (is_object($manifest)) { foreach ($tags as $tag) { if (isset($manifest->{$tag}) && isset($xml->{$tag}) && $manifest->{$tag} != $xml->{$tag}) { $xml->{$tag} = (string) $manifest->{$tag}; } } } } } // Filename $path_zip = $tmp_path . '/' . $filename; if (isset($options['filename_version']) && $options['filename_version']) { $path_zip .= '_' . (isset($manifest->version) ? $manifest->version : '1.0.0'); } if (isset($options['filename_date']) && $options['filename_date']) { $path_zip .= '_' . JFactory::getDate()->format('Y_m_d'); } $path_zip .= '.zip'; // Script if (is_file(JPATH_ADMINISTRATOR . '/manifests/packages/' . $name . '/pkg_script.php')) { if ($copyright) { CCK_Export::update(JPATH_ADMINISTRATOR . '/manifests/packages/' . $name . '/pkg_script.php', $copyright); } } // todo: else $script = $xml->addChild('scriptfile', 'pkg_script.php'); JFile::copy(JPATH_SITE . '/libraries/cck/development/apps/script.php', $path . '/pkg_script.php'); $buffer = JFile::read($path . '/pkg_script.php'); $buffer = str_replace('%class%', $filename, $buffer); JFile::write($path . '/pkg_script.php', $buffer); if ($copyright) { CCK_Export::update($path . '/pkg_script.php', $copyright); } // Extensions $files = $xml->addChild('files'); $files->addAttribute('folder', 'extensions'); $names = array(); foreach ($extensions as $ext) { $file = $files->addChild('file', $ext->_file); $names[$ext->_file] = ''; foreach ($ext as $k => $v) { if ($k != '_file') { $file->addAttribute($k, $v); } } } if (isset($manifest->files->file) && count($manifest->files->file)) { foreach ($manifest->files->file as $f) { $f_name = (string) $f; if (!isset($names[$f_name])) { $f_file = array('_' => $f_name); $f_client = (string) $f->attributes()->client; $f_id = (string) $f->attributes()->id; $f_type = (string) $f->attributes()->type; if ($f_type == 'template') { $f_file['lang_root'] = JPATH_SITE; $f_file['src'] = JPATH_SITE . '/templates/' . (strpos($f_id, 'tpl_') !== false && strpos($f_id, 'tpl_') == 0 ? substr($f_id, 4) : $f_id); $f_file['lang_src'] = $f_file['src'] . '/templateDetails.xml'; } else { // todo } if (is_array($f_file) && $f_file['src'] != '') { CCK_Export::exportFile($f_type, $data, $f_file, array(), $copyright); $file = $files->addChild('file', $f_name); $file->addAttribute('type', $f_type); $file->addAttribute('id', $f_id); $file->addAttribute('client', $f_client); } } } } // Languages $dest = CCK_Export::createDir($path . '/languages'); $languages = JCckDatabase::loadColumn('SELECT element FROM #__extensions WHERE type = "language" AND client_id = 0'); if (count($languages)) { $lang = $xml->addChild('languages'); $lang->addAttribute('folder', 'languages'); foreach ($languages as $language) { if (is_file(JPATH_SITE . '/language/' . $language . '/' . $language . '.pkg_' . $filename . '.ini')) { $l = $lang->addChild('language', $language . '/' . $language . '.pkg_' . $filename . '.ini'); $l->addAttribute('tag', $language); CCK_Export::createDir($path . '/languages/' . $language); if ($copyright) { CCK_Export::update(JPATH_SITE . '/language/' . $language . '/' . $language . '.pkg_' . $filename . '.ini', $copyright); } JFile::copy(JPATH_SITE . '/language/' . $language . '/' . $language . '.pkg_' . $filename . '.ini', $dest . '/' . $language . '/' . $language . '.pkg_' . $filename . '.ini'); } if (is_file(JPATH_SITE . '/language/' . $language . '/' . $language . '.pkg_' . $filename . '.sys.ini')) { $l = $lang->addChild('language', $language . '/' . $language . '.pkg_' . $filename . '.sys.ini'); $l->addAttribute('tag', $language); CCK_Export::createDir($path . '/languages/' . $language); if ($copyright) { CCK_Export::update(JPATH_SITE . '/language/' . $language . '/' . $language . '.pkg_' . $filename . '.sys.ini', $copyright); } JFile::copy(JPATH_SITE . '/language/' . $language . '/' . $language . '.pkg_' . $filename . '.sys.ini', $dest . '/' . $language . '/' . $language . '.pkg_' . $filename . '.sys.ini'); } } } // Media if (file_exists(JPATH_SITE . '/media/cck/apps/' . $name)) { JFolder::copy(JPATH_SITE . '/media/cck/apps/' . $name, $path . '/media'); } // Manifest JFile::copy(JPATH_LIBRARIES . '/cck/base/install/_plg_system_blank.zip', $path . '/extensions/plg_system_blank.zip'); if (is_object($manifest) && isset($manifest->updateservers)) { $servers = $xml->addChild('updateservers'); if (count($manifest->updateservers->server)) { foreach ($manifest->updateservers->server as $server) { $s = $servers->addChild('server', (string) $server); $s->addAttribute('type', (string) $server->attributes()->type); $s->addAttribute('priority', (string) $server->attributes()->priority); $s->addAttribute('name', (string) $server->attributes()->name); } } } CCK_Export::clean($path); CCK_Export::createFile($path . '/pkg_' . $filename . '.xml', '<?xml version="1.0" encoding="utf-8"?>' . $xml->asIndentedXML()); if ($copyright) { CCK_Export::update($path . '/pkg_' . $filename . '.xml', $copyright); } return CCK_Export::zip($path, $path_zip); }
* @version SEBLOD 3.x Core ~ $Id: item.php sebastienheraud $ * @package SEBLOD (App Builder & CCK) // SEBLOD nano (Form Builder) * @url http://www.seblod.com * @editor Octopoos - www.octopoos.com * @copyright Copyright (C) 2009 - 2016 SEBLOD. All Rights Reserved. * @license GNU General Public License version 2 or later; see _LICENSE.php **/ defined('_JEXEC') or die; // Init if (isset($this) && isset($this->config)) { $config =& $this->config; } // Prepare $item->params = is_object($params) ? clone $params : new JRegistry(); if (!$loaded) { $items = JCckDatabase::loadObjectList('SELECT a.id, b.title AS parent_title, b.alias AS parent_alias' . ' FROM #__categories AS a LEFT JOIN #__categories AS b ON b.id = a.parent_id' . ' WHERE a.id IN (' . (string) $pks . ')', 'id'); $loaded = 1; } if (isset($items[$item->pk]->parent_title)) { $item->parent_title = $items[$item->pk]->parent_title; } if (isset($items[$item->pk]->parent_alias)) { $item->parent_alias = $items[$item->pk]->parent_alias; } $link = plgCCK_Storage_LocationJoomla_Category::getRoute($item, $config['doSEF'], $config['Itemid'], $config); ?> <div> <?php if ($item->params->get('show_category_title')) { $tag = $plg_params->get('item_tag_title', 'h2');
public function onCCK_Storage_LocationPrepareItems(&$field, &$storages, $pks, &$config = array(), $load = false) { if (self::$type != $field->storage_location) { return; } // Init $table = $field->storage_table; // Prepare if ($load) { if ($table == self::$table) { $storages[$table] = JCckDatabase::loadObjectList('SELECT a.*, b.title AS parent_title, b.alias AS parent_alias' . ' FROM ' . $table . ' AS a LEFT JOIN #__categories AS b ON b.id = a.parent_id' . ' WHERE a.' . self::$key . ' IN (' . $config['pks'] . ')', self::$key); foreach ($storages[self::$table] as $s) { $s->slug = $s->alias ? $s->id . ':' . $s->alias : $s->id; } } else { $storages[$table] = JCckDatabase::loadObjectList('SELECT * FROM ' . $table . ' WHERE id IN (' . $config['pks'] . ')', 'id'); if (!isset($storages[self::$table])) { $storages['_'] = self::$table; $storages[self::$table] = JCckDatabase::loadObjectList('SELECT a.*, b.title AS parent_title, b.alias AS parent_alias' . ' FROM ' . self::$table . ' AS a LEFT JOIN #__categories AS b ON b.id = a.parent_id' . ' WHERE a.' . self::$key . ' IN (' . $config['pks'] . ')', self::$key); foreach ($storages[self::$table] as $s) { $s->slug = $s->alias ? $s->id . ':' . $s->alias : $s->id; } } } } $config['author'] = (int) $storages[self::$table][$config['pk']]->{self::$author}; }
public function onCCK_FieldPrepareForm(&$field, $value = '', &$config = array(), $inherit = array(), $return = false) { if (self::$type != $field->type) { return; } self::$path = parent::g_getPath(self::$type . '/'); parent::g_onCCK_FieldPrepareForm($field, $config); // Init if (count($inherit)) { $id = isset($inherit['id']) && $inherit['id'] != '' ? $inherit['id'] : $field->name; $name = isset($inherit['name']) && $inherit['name'] != '' ? $inherit['name'] : $field->name; } else { $id = $field->name; $name = $field->name; } $value = $value != '' ? $value : $field->defaultvalue; // Validate $validate = ''; if ($config['doValidation'] > 1) { plgCCK_Field_ValidationRequired::onCCK_Field_ValidationPrepareForm($field, $id, $config); $validate = count($field->validate) ? ' validate[' . implode(',', $field->validate) . ']' : ''; } // Prepare $opts = array(); if (trim($field->selectlabel)) { if ($config['doTranslation']) { $field->selectlabel = JText::_('COM_CCK_' . str_replace(' ', '_', trim($field->selectlabel))); } $opts[] = JHtml::_('select.option', '', '- ' . $field->selectlabel . ' -', 'value', 'text'); } $options = '"' . str_replace('||', '","', $field->options) . '"'; $opts2 = JCckDatabase::loadObjectList('SELECT title AS text, id AS value FROM ' . self::$table . ' WHERE catid IN(' . $options . ') AND state = 1 ORDER BY title', 'value'); if (count($opts2)) { $opts = array_merge($opts, $opts2); } $class = 'inputbox select' . $validate . ($field->css ? ' ' . $field->css : ''); $attr = 'class="' . $class . '"' . ($field->attributes ? ' ' . $field->attributes : ''); $form = count($opts) ? JHtml::_('select.genericlist', $opts, $name, $attr, 'value', 'text', $value, $id) : ''; // Set if (!$field->variation) { $field->form = $form; if ($field->script) { parent::g_addScriptDeclaration($field->script); } } else { $field->text = isset($opts2[$value]->text) ? $opts2[$value]->text : $value; parent::g_getDisplayVariation($field, $field->variation, $value, $field->text, $form, $id, $name, '<select', '', '', $config); } $field->value = $value; // Return if ($return === true) { return $field; } }
public static function getTypeOptions($selectlabel = false, $published = true) { $options = array(); if ($selectlabel !== false) { $options[] = JHtml::_('select.option', '', JText::_('COM_CCK_ALL_' . _C2_TEXT . 'S_SL'), 'value', 'text'); } $where = $published ? ' WHERE a.published = 1 ' : ''; $options2 = JCckDatabase::loadObjectList('SELECT a.title AS text, a.id AS value FROM #__cck_core_types AS a ' . $where . ' ORDER BY a.title'); if (count($options2)) { $options[] = JHtml::_('select.option', '<OPTGROUP>', JText::_('COM_CCK_' . _C2_TEXT . 'S')); $options = array_merge($options, $options2); $options[] = JHtml::_('select.option', '</OPTGROUP>', ''); } return $options; }
function prepareDisplay_Ajax() { $featured = $this->state->get('skeleton_id', 0); // Fields $objects = ''; $pos = isset($this->style->positions[0]->value) ? $this->style->positions[0]->value : 'mainbody'; $this->fields = Helper_Workshop::getFields('type', $this->item, 'a.folder = ' . (int) $featured, false, false, $pos); $this->fieldsAv = Helper_Workshop::getFieldsAv('type', $this->item, $objects, 'a.folder != ' . (int) $featured); $this->type_fields = JCckDatabase::loadObjectList('SELECT fieldid, GROUP_CONCAT(DISTINCT typeid separator " c-") AS cc FROM #__cck_core_type_field group by fieldid', 'fieldid'); // Positions $positions = Helper_Workshop::getPositions('type', $this->item); if (count($this->style->positions)) { $this->positions = array(); foreach ($this->style->positions as $p) { if ($p->value) { $this->positions[$p->value] = new stdClass(); $this->positions[$p->value]->title = $p->text; $this->positions[$p->value]->name = $p->value; $this->positions[$p->value]->disable = false; $this->positions[$p->value]->legend = @$positions[$p->value]->legend; $this->positions[$p->value]->variation = @$positions[$p->value]->variation; $this->positions[$p->value]->variation_options = @$positions[$p->value]->variation_options; $this->positions[$p->value]->width = @$positions[$p->value]->width; $this->positions[$p->value]->height = @$positions[$p->value]->height; } } } $this->positions_nb = count($this->positions); $this->variations = Helper_Workshop::getPositionVariations($this->style->template); // Filters $max_width = JCck::on() ? '' : ' style="max-width:180px;"'; $default_f = $this->item->id > 0 ? $this->item->folder : ''; $options = Helper_Admin::getPluginOptions('field', 'cck_', true, false, true); $this->lists['af_t'] = JHtml::_('select.genericlist', $options, 'filter_type', 'class="inputbox filter input-medium" prefix="t-"' . $max_width, 'value', 'text', '', 'filter1'); $options = Helper_Admin::getAlphaOptions(true); $this->lists['af_a'] = JHtml::_('select.genericlist', $options, 'filter_alpha', 'class="inputbox filter input-medium" prefix="a-"', 'value', 'text', '', 'filter3'); $options = Helper_Admin::getTypeOptions(true, false); $this->lists['af_c'] = JHtml::_('select.genericlist', $options, 'filter_type', 'class="inputbox filter input-medium" prefix="c-"' . $max_width, 'value', 'text', '', 'filter4'); $options = Helper_Admin::getFolderOptions(true, true, false, true, 'field'); $this->lists['af_f'] = JHtml::_('select.genericlist', $options, 'filter_folder', 'class="inputbox filter input-medium" prefix="f-"' . $max_width, 'value', 'text', $default_f, 'filter2'); }
protected function _table_no_key_batch($sql_type, $sql, $table, $key, $val, $excluded = array(), $callback = '') { $db = JFactory::getDbo(); if ($sql_type == 'where') { $elems = JCckDatabase::loadObjectList('SELECT * FROM ' . $table . ' WHERE ' . $sql); } else { $elems = JCckDatabase::loadObjectList($sql); } $str = ''; foreach ($elems as $elem) { $add = 1; if ($callback != '') { $add = $this->{$callback}($elem); } if ($add == 1) { $str2 = ''; foreach ($elem as $k => $v) { if (in_array($k, $excluded) !== true) { if ($k == $key) { $v = $val; } $str2 .= '"' . $db->escape($v) . '", '; } } if ($str2 != '') { $str2 = substr(trim($str2), 0, -1); $str .= '(' . $str2 . '), '; } } } if ($str != '') { $str = substr(trim($str), 0, -1); } JCckDatabase::execute('INSERT INTO ' . $table . ' VALUES ' . $str); return $str; }
protected static function _sendMails($table, $activation, $auto_email, $admin_emails, $sendpassword) { $config = JFactory::getConfig(); $data = $table->getProperties(); $data['fromname'] = $config->get('fromname'); $data['mailfrom'] = $config->get('mailfrom'); $data['sitename'] = $config->get('sitename'); $data['siteurl'] = JUri::root(); if ($auto_email) { switch ($activation) { case 2: $base = JURI::getInstance()->toString(array('scheme', 'user', 'pass', 'host', 'port')); $data['activate'] = $base . JRoute::_('index.php?option=com_users&task=registration.activate&token=' . $data['activation'], false); $subject = JText::sprintf('COM_CCK_EMAIL_ACCOUNT_DETAILS', $data['name'], $data['sitename']); if ($sendpassword) { $body = JText::sprintf('COM_CCK_EMAIL_REGISTERED_WITH_ADMIN_ACTIVATION_BODY', $data['name'], $data['sitename'], $data['activate'], $data['siteurl'], $data['username'], $data['password_clear']); } else { $body = JText::sprintf('COM_CCK_EMAIL_REGISTERED_WITH_ADMIN_ACTIVATION_BODY_NOPW', $data['name'], $data['sitename'], $data['activate'], $data['siteurl'], $data['username']); } break; case 1: $base = JURI::getInstance()->toString(array('scheme', 'user', 'pass', 'host', 'port')); $data['activate'] = $base . JRoute::_('index.php?option=com_users&task=registration.activate&token=' . $data['activation'], false); $subject = JText::sprintf('COM_CCK_EMAIL_ACCOUNT_DETAILS', $data['name'], $data['sitename']); if ($sendpassword) { $body = JText::sprintf('COM_CCK_EMAIL_REGISTERED_WITH_ACTIVATION_BODY', $data['name'], $data['sitename'], $data['activate'], $data['siteurl'], $data['username'], $data['password_clear']); } else { $body = JText::sprintf('COM_CCK_EMAIL_REGISTERED_WITH_ACTIVATION_BODY_NOPW', $data['name'], $data['sitename'], $data['activate'], $data['siteurl'], $data['username']); } break; default: $subject = JText::sprintf('COM_CCK_EMAIL_ACCOUNT_DETAILS', $data['name'], $data['sitename']); if ($sendpassword) { $body = JText::sprintf('COM_CCK_EMAIL_REGISTERED_BODY', $data['name'], $data['sitename'], $data['siteurl'], $data['username'], $data['password_clear']); } else { $body = JText::sprintf('COM_CCK_EMAIL_REGISTERED_BODY_NOPW', $data['name'], $data['sitename'], $data['siteurl']); } break; } JFactory::getMailer()->sendMail($data['mailfrom'], $data['fromname'], $data['email'], $subject, $body); } if ($activation < 2 && $admin_emails == 1) { $subject = JText::sprintf('COM_CCK_EMAIL_ACCOUNT_DETAILS', $data['name'], $data['sitename']); $body = JText::sprintf('COM_CCK_EMAIL_REGISTERED_NOTIFICATION_TO_ADMIN_BODY', $data['name'], $data['username'], $data['siteurl']); $rows = JCckDatabase::loadObjectList('SELECT name, email, sendEmail FROM #__users WHERE sendEmail = 1'); if (count($rows)) { foreach ($rows as $row) { $return = JFactory::getMailer()->sendMail($data['mailfrom'], $data['fromname'], $row->email, $emailSubject, $body); if ($return !== true) { JFactory::getApplication()->enqueueMessage(JText::_('COM_CCK_REGISTRATION_ACTIVATION_NOTIFY_SEND_MAIL_FAILED'), 'error'); return false; } } } } }
</button> </div> <?php } ?> </div> <?php if (1 == 1) { $options = array(); $options[] = JHtml::_('select.option', 0, '- ' . JText::_('COM_CCK_NONE') . ' -', 'value', 'text'); $options2 = JCckDatabase::loadObjectList('SELECT a.title AS text, a.name AS value FROM #__cck_core_types AS a WHERE a.published = 1 ORDER BY a.title'); if (count($options2)) { $options = array_merge($options, $options2); } $select = JHtml::_('select.genericlist', $options, 'featured', 'class="inputbox no-chosen" size="1"', 'value', 'text', '', 'featured'); $options = JCckDatabase::loadObjectList('SELECT a.name AS text, a.name AS value FROM #__cck_core_templates AS a WHERE a.published = 1 AND a.mode = 2 ORDER BY a.title'); $select2 = JHtml::_('select.genericlist', $options, 'template_search', 'class="inputbox no-chosen" size="1"', 'value', 'text', '', 'template_search'); ?> <div class="<?php echo $this->css['batch']; ?> " id="collapseModal2"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">x</button> <h3><?php echo JText::_('JTOOLBAR_NEW') . ' ' . JText::_('COM_CCK_' . _C4_TEXT); ?> </h3> </div> <?php if ($user->authorise('core.create', 'com_cck')) {
active" id="seblod-sidebar"> <div class="seblod" id="seblod-sideblock"> <div class="fltlft seblod-toolbar"><?php Helper_Workshop::displayToolbar('search', $this->item->master, $this->item->client, $this->uix, ''); ?> </div> <?php if (count($this->fieldsAv)) { echo '<div class="legend top center">' . $this->lists['af_f'] . $this->lists['af_c'] . '<br />' . $this->lists['af_t'] . $this->lists['af_a'] . '</div>'; echo '<div id="scroll"><ul class="sortable connected" id="sortable2" myid="2">'; $data['tables'] = array(); $style = array('1' => ' hide', '2' => ' hide', '3' => ' hide', '4' => ' hide', '5' => ' hide', '6' => ' hide', '7' => ' hide'); foreach ($this->fieldsAv as $field) { if ($field->storage_table != '') { if (!isset($data['tables'][$field->storage_table])) { $data['tables'][$field->storage_table] = JCckDatabase::loadObjectList('SHOW COLUMNS FROM `' . $field->storage_table . '`', 'Field'); } if (@$field->match_mode == '' && isset($data['tables'][$field->storage_table][$field->storage_field])) { if ($data['tables'][$field->storage_table][$field->storage_field]->Type == 'tinyint(3)' || $data['tables'][$field->storage_table][$field->storage_field]->Type == 'int(11)' || $data['tables'][$field->storage_table][$field->storage_field]->Type == 'int(10)' || $data['tables'][$field->storage_table][$field->storage_field]->Type == 'int(10) unsigned') { $field->match_mode = 'exact'; $field->match_options = '{"var_type":"0"}'; } } } $type_field = ''; if (isset($this->type_fields[$field->id])) { $type_field = ' c-' . $this->type_fields[$field->id]->cc; } JCck::callFunc_Array('plgCCK_Field' . $field->type, 'onCCK_FieldConstruct_Search' . $this->item->master, array(&$field, $style, $data)); Helper_Workshop::displayField($field, $type_field); }