/**
 * @see Controller nuevo controller
 */
require_once CORE_PATH . 'kumbia/controller.php';
/**
 * Controlador principal que heredan los controladores
 *
 * Todas las controladores heredan de esta clase en un nivel superior
 * por lo tanto los metodos aqui definidos estan disponibles para
 * cualquier controlador.
 *
 * @category Kumbia
 * @package Controller
 */
//Cargo los parámetros de configuración
DwConfig::Load();
class AppController extends Controller
{
    /**
     * Callback que se ejecuta antes de los métodos de todos los controladores
     */
    protected final function initialize()
    {
        if (APP_UPDATE) {
            DwMessage::info('Estamos en labores de mantenimiento y actualización.');
            View::select(NULL, 'update');
        }
    }
    /**
     * Callback que se ejecuta después de los métodos de todos los controladores
     */
Example #2
0
<?php

/**
 * @see Controller nuevo controller
 */
require_once CORE_PATH . 'kumbia/controller.php';
/**
 * Controlador principal que heredan los controladores
 *
 * Todas las controladores heredan de esta clase en un nivel superior
 * por lo tanto los metodos aqui definidos estan disponibles para
 * cualquier controlador.
 *
 * @category Kumbia
 * @package Controller
 */
Load::lib('dw_config');
DwConfig::load();
class AppController extends Controller
{
    protected final function initialize()
    {
    }
    protected final function finalize()
    {
    }
}
Example #3
0
 /**
  * Callback que se ejecuta antes de guardar/modificar
  */
 protected function before_save()
 {
     if (Session::get('perfil_id') != Perfil::SUPER_USUARIO) {
         //Solo el super usuario puede hacer esto
         //Verifico las exclusiones de los nombres de usuarios del config.ini
         $exclusion = DwConfig::read('config', array('custom' => 'login_exclusion'));
         $exclusion = explode(',', $exclusion);
         if (!empty($exclusion)) {
             if (in_array($this->login, $exclusion)) {
                 Flash::error('El nombre de usuario indicado, no se encuentra disponible.');
                 return 'cancel';
             }
         }
     }
     //Verifico si el login está disponible
     if ($this->_getRegisteredField('login', $this->login, $this->id)) {
         Flash::error('El nombre de usuario no se encuentra disponible.');
         return 'cancel';
     }
     //Verifico si se encuentra el mail registrado
     if ($this->_getRegisteredField('email', $this->email, $this->id)) {
         Flash::error('El correo electrónico ya se encuentra registrado o no se encuentra disponible.');
         return 'cancel';
     }
     $this->datagrid = Filter::get($this->datagrid, 'int');
 }
Example #4
0
 /**
  * Callback que se ejecuta antes de guardar/modificar
  */
 protected function before_save()
 {
     //Coloco en mayusculas los datos que van a bd
     $this->nombres = strtoupper($this->nombres);
     $this->apellidos = strtoupper($this->apellidos);
     $this->login = strtoupper($this->login);
     $this->email = strtoupper($this->email);
     //Verifico la sucursal al crear el usuario
     if (APP_OFFICE) {
         $this->sucursal_id = $this->sucursal_id == 'todas' ? NULL : Filter::get($this->sucursal_id, 'int');
     } else {
         $this->sucursal_id = Sucursal::OFICINA_PRINCIPAL;
     }
     if (Session::get('perfil_id') != Perfil::SUPER_USUARIO) {
         //Solo el super usuario puede hacer esto
         //Verifico las exclusiones de los nombres de usuarios del config.ini
         $exclusion = DwConfig::read('config', array('custom' => 'login_exclusion'));
         $exclusion = explode(',', $exclusion);
         if (!empty($exclusion)) {
             if (in_array($this->login, $exclusion)) {
                 DwMessage::error('El nombre de usuario indicado, no se encuentra disponible.');
                 return 'cancel';
             }
         }
     }
     //Verifico si el login está disponible
     if ($this->_getRegisteredField('login', $this->login, $this->id)) {
         DwMessage::error('El nombre de usuario no se encuentra disponible.');
         return 'cancel';
     }
     //Verifico si ya se encuentra registrado
     //if($this->_getRegisteredField('titular_id', $this->titular_id, $this->id)) {
     //    DwMessage::error('La titular registrada ya posee una cuenta de usuario.');
     //    return 'cancel';
     //}
     //if($this->_getRegisteredField('titular_id', $this->titular_id, $this->cedula)) {
     //    DwMessage::error('La Cedula registrada ya posee una cuenta de usuario.');
     //    return 'cancel';
     //}
     //Verifico si se encuentra el mail registrado
     if ($this->_getRegisteredField('email', $this->email, $this->id)) {
         DwMessage::error('El correo electrónico ya se encuentra registrado.');
         return 'cancel';
     }
     $this->datagrid = Filter::get($this->datagrid, 'int');
 }
 /**
  * Método para editar el databases
  */
 public function databases()
 {
     if (Input::hasPost('development') && Input::hasPost('production')) {
         try {
             Sistema::setDatabases(Input::post('development'), 'development');
             Sistema::setDatabases(Input::post('production'), 'production');
             DwMessage::valid('El archivo de conexión se ha actualizado correctamente!');
         } catch (KumbiaException $e) {
             DwMessage::error('Oops!. Se ha realizado algo mal internamente. <br />Intentalo de nuevo!.');
         }
         Input::delete('databases');
     }
     $this->databases = DwConfig::read('databases', '', true);
     $this->page_module = 'Configuración de conexión';
 }
Example #6
0
 /**
  * Método para crear el archivo databases.ini según los parámetros enviados
  * 
  * @param type $data Campos de los formularios
  * @param type $source Production o Deveploment
  * @param type $createDb Indica si se crea o no la base de datos
  * @return boolean
  */
 public static function setDatabases($data, $source = 'development')
 {
     //Verifico si tiene permisos de escritura para crear y editar un archvivo.ini
     if (!is_writable(APP_PATH . 'config')) {
         DwMessage::warning('Asigna temporalmente el permiso de escritura a la carpeta "config" de tu app!.');
         return false;
     }
     //Filtro el array con los parámetros
     $data = Filter::data($data, array('host', 'username', 'password', 'name', 'type'), 'trim');
     //Se utiliza por defecto el driver mysqli por ser orientado a objetos
     $data['type'] = 'mysqli';
     //Se utiliza por defecto el charset UTF-8
     $data['charset'] = 'UTF-8';
     $rs = DwConfig::write('databases', $data, $source);
     if ($rs) {
         DwAudit::info('Se ha actualizado el archivo de conexión del sistema');
     }
     return $rs;
 }