public function __construct() { self::$model['singular'] = ucfirst(\Supernova\Inflector::singularize(\Supernova\Core::$elements['controller'])); self::$model['plural'] = ucfirst(\Supernova\Inflector::pluralize(\Supernova\Core::$elements['controller'])); self::$action = ucfirst(\Supernova\Inflector::underToCamel(\Supernova\Core::$elements['prefix'])); self::$action .= ucfirst(\Supernova\Inflector::underToCamel(\Supernova\Core::$elements['action'])); }
public static function getList($args = array()) { $vars = get_class_vars(get_called_class()); $namespace = explode("\\", get_called_class()); $model = end($namespace); $table = \Supernova\Inflector::pluralize(\Supernova\Inflector::camelToUnder($model)); $query = 'SELECT ' . $vars['primaryKey'] . ',' . $vars['defaultKey'] . ' FROM `' . $table . '` ' . self::parseConditions($args); $data = self::getQuery($query, $model); $getPrimary = "get" . ucfirst(\Supernova\Inflector::underToCamel($vars['primaryKey'])); $getDefault = "get" . ucfirst(\Supernova\Inflector::underToCamel($vars['defaultKey'])); foreach ($data as $dat) { $array[$dat->{$getPrimary}()] = $dat->{$getDefault}(); } return $array; }
/** * Ingresa el nombre del prefijo * @param array $urlQuery Arreglo con request */ public static function setPrefix($urlQuery) { $prefix = ucfirst(\Supernova\Inflector::underToCamel(current($urlQuery))); require ROOT . DS . "Config" . DS . "routing.php"; if (in_array($prefix, $routing['prefix'])) { self::$elements['prefix'] = $prefix; return true; } self::$elements['prefix'] = ""; return false; }
public static function processPost() { if ($post = \Supernova\Core::getPostParameters()) { $namespace = "\\App\\Model\\" . \Supernova\Core::$elements['controller']; $formNamespace = $namespace . "Form"; $objectForm = new $formNamespace(); foreach ($post['data'] as $model => $values) { if ($namespace == "\\App\\Model\\" . ucfirst(\Supernova\Inflector::underToCamel($model))) { $object = new $namespace(); foreach ($values as $key => $val) { $setter = "set" . ucfirst(\Supernova\Inflector::underToCamel($key)); if (isset($objectForm->settings[$key]['widget']['use']) && !empty($objectForm->settings[$key]['widget']['use'])) { $fn = explode("::", $objectForm->settings[$key]['widget']['use']); if (method_exists($fn[0], $fn[1])) { $val = $fn[0]::$fn[1]($val); } } $object->{$setter}($val); } return $object->isValid() ? true : $object->onError(); } } } return null; }