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); }
public function onAfterRender() { $app = JFactory::getApplication(); $option = $app->input->get('option', ''); $view = $app->input->get('view', ''); $layout = $app->input->get('layout', ''); // site if ($app->isSite()) { if ($this->multisite === true && $this->site_cfg->get('offline') && isset($this->offline_buffer)) { $uri = JFactory::getURI(); $app->setUserState('users.login.form.data', array('return' => (string) $uri)); JResponse::setHeader('Status', '503 Service Temporarily Unavailable', 'true'); JResponse::setBody($this->offline_buffer); } return; } // admin if ($app->isAdmin() && JFactory::getDocument()->getType() == 'html') { $buffer = JResponse::getBody(); $buffer = str_replace('icon-cck-', 'myicon-cck-', $buffer); switch ($option) { case 'com_cck': case 'com_cck_developer': case 'com_cck_ecommerce': case 'com_cck_exporter': case 'com_cck_importer': case 'com_cck_manager': case 'com_cck_multilingual': case 'com_cck_packager': case 'com_cck_toolbox': case 'com_cck_updater': case 'com_cck_webservices': $buffer = $this->_setBasics($buffer, $option, $view); break; case 'com_postinstall': $eid = $app->input->get('eid', 0); $eid2 = JCckDatabase::loadResult('SELECT extension_id FROM #__extensions WHERE type = "component" AND element = "com_cck"'); if ($eid && $eid == $eid2) { $buffer = str_replace('com_cck', 'SEBLOD', $buffer); $buffer = str_replace('option=SEBLOD', 'option=com_cck', $buffer); } break; case 'com_templates': if ($view == 'templates' || $layout == 'edit') { break; } $search = '#administrator/index.php\\?option=com_templates&task=style.edit&id=(.*)">(.*)</a>#sU'; $list = JCckDatabase::loadObjectList('SELECT a.id, b.name FROM #__template_styles AS a LEFT JOIN #__cck_core_templates AS b ON b.name = a.template WHERE b.name != ""', 'id'); preg_match_all($search, $buffer, $matches); if (count($matches[1])) { $i = 0; $style = 'height:14px; color:#ffffff; background-color:#0088CC; margin:0px 12px 0px 12px; padding:2px 8px 2px 8px; font-size:10px; font-weight:bold;'; foreach ($matches[1] as $match) { if (isset($list[$match])) { $replace = $matches[0][$i] . '<span style="' . $style . '">SEBLOD</span>Do NOT set as Default Template !'; $buffer = str_replace($matches[0][$i], $replace, $buffer); } $i++; } } break; default: $and = $view ? ' AND ( a.view = "' . $view . '" OR a.view = "" )' : ''; $locations = JCckDatabase::loadObjectList('SELECT a.name, a.options FROM #__cck_core_objects AS a WHERE a.component = "' . $option . '"' . $and); $uri = array('option' => $option, 'view' => $view, 'layout' => $layout); if (count($locations)) { foreach ($locations as $location) { $path = JPATH_SITE . '/plugins/cck_storage_location/' . $location->name . '/classes/integration.php'; if (is_file($path)) { $data = array('doIntegration' => false, 'multilanguage' => 0, 'options' => new JRegistry($location->options), 'replace_end' => '"', 'return_option' => substr($option, 4), 'return_view' => $view, 'return' => '', 'search' => '', 'search_alt' => ''); require_once $path; JCck::callFunc_Array('plgCCK_Storage_Location' . $location->name . '_Integration', 'onCCK_Storage_LocationAfterRender', array(&$buffer, &$data, $uri)); if ($data['doIntegration']) { $list = JCckDatabase::loadObjectList('SELECT pk, cck FROM #__cck_core WHERE storage_location="' . $location->name . '"', 'pk'); $buffer = JCckDevIntegration::rewriteBuffer($buffer, $data, $list); } } } } break; } JResponse::setBody($buffer); return; } }