public function Settings() { $settings = array(); if (empty($this->settings['selected_service'])) { $settings['lists'] = array('selected_service' => JHTML::_('select.genericlist', aecServiceList::getSelectList(), 'selected_service', 'size="1"', 'value', 'text', 0)); $settings['selected_service'] = array('list'); $settings['notice'] = array('p', 'Save once to show settings of the service'); } else { $settings['selected_service'] = array('hidden'); $service = aecService::getById($this->settings['selected_service']); $settings['notice'] = array('p', $service->name); $settings = array_merge($settings, $service->getSettings()); } return $settings; }
public function edit($id) { $lists = array(); $params_values = array(); $row = aecService::getById($id); if (empty($row->id)) { $row = new aecService(); $row->ordering = 9999; $params_values['active'] = 1; } else { $params_values = $row->params; // We need to convert the values that are set as object properties $params_values['active'] = $row->active; $params_values['name'] = $row->name; } // params and their type values $params['active'] = array('toggle', 1); $params['visible'] = array('toggle', 0); $params['name'] = array('inputC', ''); $params['type'] = array('list', ''); $params['params_remap'] = array('subarea_change', 'services'); $servicelist = aecServiceList::getAvailableServiceClasses(true); $glist = array(); $glist[] = JHTML::_('select.option', 0, '- - - - - -'); foreach ($servicelist as $service) { $info = $service->getInfo(); $glist[] = JHTML::_('select.option', $info['slug'], $info['name'], 'value', 'text'); } $lists['type'] = JHTML::_('select.genericlist', $glist, 'type', 'size="1"', 'value', 'text', $row->id ? 0 : 1); $settings = new aecSettings('service', 'general'); if ($row->id) { $service_params = $row->getSettings(); $params = array_merge($params, $service_params); } else { $service_params = array(); } $settings->fullSettingsArray($params, $params_values, $lists); // Call HTML Class $aecHTML = new aecHTML($settings->settings, $settings->lists); if (!empty($service_params)) { foreach ($service_params as $n => $v) { $aecHTML->customparams[] = $n; } } $aecHTML->hasSettings = $id ? true : false; HTML_AcctExp::editService($row, $aecHTML); }
/** * @param string $type * * @return bool|aecService */ public static function getByType($type) { $db = JFactory::getDBO(); $db->setQuery('SELECT `id`' . ' FROM #__acctexp_services' . ' WHERE `type` = \'' . $type . '\' '); $id = $db->loadResult(); if (empty($id)) { return false; } include_once aecServiceList::getServicePath($type) . '/' . $type . '.php'; if ($id) { $name = 'service_' . $type; $service = new $name(); $service->load($id); return $service; } else { $name = 'service_' . $type; $service = new $name(); return $service; } }