function onExtensionAfterSave($option, $data) { if (Plazart::detect() && $option == 'com_templates.style' && !empty($data->id)) { //get new params value $japp = JFactory::getApplication(); $params = new JRegistry(); $params->loadString($data->params); $oparams = $japp->getUserState('oparams'); //check for changed params $pchanged = array(); foreach ($oparams as $oparam) { if ($params->get($oparam['name']) != $oparam['value']) { $pchanged[] = $oparam['name']; } } //if we have any changed, we will update to global if (count($pchanged)) { //g et all other styles that have thesame template $db = JFactory::getDBO(); $query = $db->getQuery(true); $query->select('*')->from('#__template_styles')->where('template=' . $db->quote($data->template)); $db->setQuery($query); $themes = $db->loadObjectList(); //update all global parameters foreach ($themes as $theme) { $registry = new JRegistry(); $registry->loadString($theme->params); foreach ($pchanged as $pname) { $registry->set($pname, $params->get($pname)); //overwrite with new value } $query = $db->getQuery(true); $query->update('#__template_styles')->set('params =' . $db->quote($registry->toString()))->where('id =' . (int) $theme->id)->where('id <>' . (int) $data->id); $db->setQuery($query); $db->query(); } } } }