field models list */ public static function getAll() { $providers = SMSNotifier_Provider_Model::getAll(); $providersFieldModelsList = array(); foreach($providers as $provider){ $fieldsInfo = self::getInstanceByProvider($provider); $fieldModelsList = array(); foreach ($fieldsInfo as $fieldRow) { $fieldModelsList[$fieldRow['name']] = self::getInstanceByRow($fieldRow); } $providersFieldModelsList[$provider->getName()] = $fieldModelsList; } return $providersFieldModelsList; } /** * Function to get all provider field models * @param provider instance * @return field Info */ public static function getInstanceByProvider($provider) { $fieldsInfo = $provider->getRequiredParams(); if(!is_array($fieldsInfo[0])){ $newFieldInfo = array(); foreach($fieldsInfo as $key) { array_push($newFieldInfo,array('name' => $key, 'label' => $key, 'type' => 'text')); } return $newFieldInfo; } else { return $fieldsInfo; } } public static function getEditFieldTemplateName($providerName) { $providerInstance = SMSNotifier_Provider_Model::getInstance($providerName); if(method_exists($providerInstance,'getProviderEditFieldTemplateName')) { return $providerInstance->getProviderEditFieldTemplateName(); } else{ return 'ProviderEditFields.tpl'; } } }