Esempio n. 1
0
*/

/*
Url Handler for Admin MODULE

*/


global $ari;
$handle = $ari->url->getVars();

switch ($handle[0])
{ 
//--
case "selector": {
	if (OOB_validatetext::isClean($_POST['modulo']) && $_POST['modulo'] != "/" )
		header( "Location: " . $ari->get('adminaddress') ."/" . $_POST['modulo']);
	else
		throw new OOB_exception('', "404", 'Selecione un modulo válido.');	
break;
}	


case "menu": 
	{	
	include ($ari->module->admindir() . DIRECTORY_SEPARATOR  . "menu.php");
	}
break;

case "newtab": 
	{	
Esempio n. 2
0
 /**	graba la accion en la base de datos*/
 public function store()
 {
     global $ari;
     //clean vars and validation!
     $this->name = trim($this->name);
     $this->nicename = trim($this->nicename);
     //action
     if (!OOB_validatetext::isNumeric($this->action)) {
         $ari->error->addError("seguridad_action", "INVALID_ACTION");
     }
     //name
     if (!OOB_validatetext::isClean($this->name) || !OOB_validatetext::isCorrectLength($this->name, 1, MAX_LENGTH)) {
         $ari->error->addError("seguridad_action", "INVALID_NAME");
     }
     //nicename
     if (!OOB_validatetext::isClean($this->nicename) || !OOB_validatetext::isCorrectLength($this->nicename, 1, MAX_LENGTH)) {
         $ari->error->addError("seguridad_action", "INVALID_NICENAME");
     }
     //permission
     if (!OOB_validatetext::isNumeric($this->permission->get('permission'))) {
         $ari->error->addError("seguridad_action", "INVALID_PERMISSION");
     }
     //inmenu
     if (!OOB_validatetext::isNumeric($this->inmenu)) {
         $ari->error->addError("seguridad_action", "INVALID_INMENU");
     }
     //valido q no exista la accion
     if ($this->action == ID_UNDEFINED) {
         //para nuevo busco uno con el mismo nombre
         $clausula = "";
     } else {
         //si actualizo busco con el mismo nombre pero con el mismo id
         $clausula = " AND id <> {$this->action}";
     }
     $savem = $ari->db->SetFetchMode(ADODB_FETCH_NUM);
     $name = $ari->db->qMagic($this->name);
     $permissionid = $ari->db->qMagic($this->permission->get('permission'));
     $sql = "SELECT true as accion FROM security_action \n\t\t\t   WHERE name = {$name} and permissionid = {$permissionid} {$clausula}";
     $rs = $ari->db->Execute($sql);
     $ari->db->SetFetchMode($savem);
     if (!$rs->EOF && !$rs == false) {
         $rs->Close();
         $ari->error->addError("seguridad_action", "DUPLICATE_ACTION");
     }
     // end if
     if (!$ari->error->getErrorsfor("seguridad_action")) {
         $name = $ari->db->qMagic($this->name);
         $nicename = $ari->db->qMagic($this->nicename);
         $inmenu = $ari->db->qMagic($this->inmenu);
         if ($this->action > ID_MINIMAL) {
             // update data
             $action_id = $ari->db->qMagic($this->action);
             $ari->db->StartTrans();
             $sql = "UPDATE security_action\n\t\t\t\t\t   SET Name = {$name},\n\t\t\t\t\t   NiceName = {$nicename},\n\t\t\t\t\t   PermissionID = {$permissionid},\n\t\t   \t\t\t   InMenu = {$inmenu},\n\t\t\t\t\t   WHERE id = {$action_id}";
             $ari->db->Execute($sql);
             if (!$ari->db->CompleteTrans()) {
                 throw new OOB_exception("Error en DB: {$ari->db->ErrorMsg()}", "010", "Error en la Base de Datos", false);
             } else {
                 return true;
             }
         } else {
             // insert new and set actionid with new id
             $ari->db->StartTrans();
             $sql = "INSERT INTO security_action \n\t\t\t\t  \t  (name,nicename,permissionid,inmenu)\n\t\t\t\t      VALUES ({$name},\n\t\t\t\t\t\t\t\t{$nicename},\n\t\t\t\t\t\t\t\t{$permissionid},\n\t\t\t\t\t\t\t\t{$inmenu})";
             $ari->db->Execute($sql);
             $this->action = $ari->db->Insert_ID();
             if (!$ari->db->CompleteTrans()) {
                 throw new OOB_exception("Error en DB: {$ari->db->ErrorMsg()}", "010", "Error en la Base de Datos", false);
             } else {
                 return true;
             }
         }
         //end if
     } else {
         // no validan los datos
         return false;
         //devuelve un objeto de error con los errores!
     }
     //end if
 }
Esempio n. 3
0
 /** Stores/Updates user group object in the DB */
 public function store()
 {
     global $ari;
     $flagStore = true;
     //validate description
     if (!OOB_validatetext::isClean($this->description)) {
         $ari->error->addError("seguridad_group", "INVALID_DESCRIPTION");
         $flagStore = false;
     }
     //validate the data!
     if (!OOB_validatetext::isClean($this->name) || !OOB_validatetext::isCorrectLength($this->name, 1, MAX_LENGTH)) {
         $ari->error->addError("seguridad_group", "INVALID_NAME");
         $flagStore = false;
     }
     if ($this->group == ID_UNDEFINED) {
         //para nuevo busco uno con el mismo nombre
         $clausula = "";
     } else {
         //si actualizo busco con el mismo nombre pero con el mismo id
         $clausula = " AND id <> '{$this->group}'";
     }
     $savem = $ari->db->SetFetchMode(ADODB_FETCH_NUM);
     $name = $ari->db->qMagic($this->name);
     $sql = "SELECT true as cuenta FROM security_group WHERE name = {$name} {$clausula}";
     $rs = $ari->db->Execute($sql);
     $ari->db->SetFetchMode($savem);
     if (!$rs->EOF && $rs) {
         if ($this->group == ID_UNDEFINED) {
             //para nuevo
             // si el grupo con el mismo nombre esta borrado lo activo, sino da instancio un error
             $sql = "SELECT id FROM security_group WHERE name = {$name} AND Status = '" . DELETED . "'";
             $rs->Close();
             $rs2 = $ari->db->Execute($sql);
             if (!$rs2->EOF) {
                 //asigno el id del el objeto que volvi a activar
                 $this->group = $rs2->fields[0];
                 $this->status = USED;
             } else {
                 $ari->error->addError("seguridad_group", "DUPLICATE_GROUP");
                 $flagStore = false;
             }
         } else {
             $ari->error->addError("seguridad_group", "DUPLICATE_GROUP");
             $flagStore = false;
         }
     }
     if ($flagStore) {
         $name = $ari->db->qMagic($this->name);
         $description = $ari->db->qMagic($this->description);
         $status = $ari->db->qMagic($this->status);
         $group_id = $ari->db->qMagic($this->group);
         if ($this->group > ID_MINIMAL) {
             // update data
             $ari->db->StartTrans();
             $sql = "UPDATE security_group \n\t\t\t\t\t   SET name = {$name}, \n\t\t\t\t\t   \t   description = {$description}, \n\t\t\t\t\t   \t   status = {$status}  \n\t\t\t\t\t   WHERE id = {$group_id}";
             $ari->db->Execute($sql);
             if (!$ari->db->CompleteTrans()) {
                 throw new OOB_exception("Error en DB: {$ari->db->ErrorMsg()}", "010", "Error en la Base de Datos", false);
             } else {
                 return true;
             }
         } else {
             // insert new and set usergroupid with new id
             $ari->db->StartTrans();
             $sql = "INSERT INTO security_group \n\t\t\t\t\t   ( name, description, status)\n\t\t\t\t\t   VALUES ( {$name}, {$description}, {$status} )\n\t\t\t\t\t   \t";
             $ari->db->Execute($sql);
             $this->group = $ari->db->Insert_ID();
             if (!$ari->db->CompleteTrans()) {
                 throw new OOB_exception("Error en DB: {$ari->db->ErrorMsg()}", "010", "Error en la Base de Datos", false);
             } else {
                 return true;
             }
         }
     } else {
         // no validan los datos
         return false;
         //devuelve un objeto de error con los errores!
     }
 }
Esempio n. 4
0
 /**	Guarda en la BD el objeto rol */
 public function store()
 {
     global $ari;
     // clean vars !
     if (!OOB_validatetext::isClean($this->name) || !OOB_validatetext::isCorrectLength($this->name, 1, MAX_LENGTH)) {
         $ari->error->addError("seguridad_role", "INVALID_NAME");
     }
     if (!OOB_validatetext::isClean($this->description)) {
         $ari->error->addError("seguridad_role", "INVALID_DESCRIPTION");
     }
     if ($this->role == ID_UNDEFINED) {
         //para nuevo busco uno con el mismo nombre
         $clausula = "";
     } else {
         //si actualizo busco con el mismo nombre pero con el mismo id
         $clausula = " AND id <> {$this->role}";
     }
     $name = $ari->db->qMagic($this->name);
     $savem = $ari->db->SetFetchMode(ADODB_FETCH_NUM);
     $sql = "SELECT true as cuenta FROM `Security_Role` \n\t\t\t   WHERE `Name` = {$name} {$clausula}";
     $rs = $ari->db->Execute($sql);
     $ari->db->SetFetchMode($savem);
     if (!$rs->EOF && $rs->fields[0] != 0) {
         if ($this->role == ID_UNDEFINED) {
             //para nuevo
             // si el rol con el mismo nombre esta borrado lo activo, sino da instancio un error
             $sql = "SELECT `ID` \n\t\t\t\t\t   FROM `Security_Role` \n\t\t\t\t\t   WHERE `Name` = {$name} \n\t\t\t\t\t   AND `Status` = '" . DELETED . "'";
             $rs->Close();
             $rs2 = $ari->db->Execute($sql);
             if (!$rs2->EOF) {
                 //asigno el id del el objeto que volvi a activar
                 $this->role = $rs2->fields[0];
                 $this->status = USED;
             } else {
                 $ari->error->addError("seguridad_role", "DUPLICATE_ROLE");
             }
         } else {
             $ari->error->addError("seguridad_role", "DUPLICATE_ROLE");
         }
     }
     if (!$ari->error->getErrorsfor("seguridad_role")) {
         $name = $ari->db->qMagic($this->name);
         $description = $ari->db->qMagic($this->description);
         $status = $ari->db->qMagic($this->status);
         $anonymous = $ari->db->qMagic($this->anonymous);
         $trustees = $ari->db->qMagic($this->trustees);
         $role = $ari->db->qMagic($this->role);
         if ($this->role > ID_MINIMAL) {
             // update data
             $ari->db->StartTrans();
             $sql = "UPDATE `Security_Role` \n\t\t\t\t\t   SET `Name` = {$name}, \n\t\t\t\t\t   \t   `Description` = {$description},  \n\t\t\t\t\t   \t   `Status` = {$status}, \n\t\t\t\t\t   \t   `Anonymous` = {$anonymous},\n\t\t\t\t\t   \t   `Trustees` = {$trustees}\n\t\t\t\t\t   WHERE `ID` = {$role}";
             $ari->db->Execute($sql);
             if (!$ari->db->CompleteTrans()) {
                 throw new OOB_exception("Error en DB: {$ari->db->ErrorMsg()}", "010", "Error en la Base de Datos", false);
             } else {
                 return true;
             }
         } else {
             // insert new and set roleid with new id
             $ari->db->StartTrans();
             $sql = "INSERT INTO `Security_Role` \n\t\t\t\t\t   ( `Name`, `Description`, `Status`, `Anonymous`, `Trustees`)\n\t\t\t\t\t   VALUES ( {$name}, {$description}, {$status}, {$anonymous}, {$trustees} )\n\t\t\t\t\t  ";
             $ari->db->Execute($sql);
             $this->role = $ari->db->Insert_ID();
             if (!$ari->db->CompleteTrans()) {
                 throw new OOB_exception("Error en DB: {$ari->db->ErrorMsg()}", "010", "Error en la Base de Datos", false);
             } else {
                 return true;
             }
         }
     } else {
         return false;
         //devuelve un objeto de error con los errores!
     }
 }
Esempio n. 5
0
 /** Stores/Updates currency object in the DB */
 public function store()
 {
     global $ari;
     // clean vars !
     $this->name = trim($this->name);
     $this->sign = trim($this->sign);
     $this->value = trim($this->value);
     $this->type = trim($this->type);
     $this->status = trim($this->status);
     $this->default = trim($this->default);
     if (!OOB_validatetext::isClean($this->name) || !OOB_validatetext::isCorrectLength($this->name, 1, MAX_LENGTH)) {
         $ari->error->addError("currency_currency", "INVALID_NAME");
     }
     if (!OOB_validatetext::isClean($this->sign) || !OOB_validatetext::isCorrectLength($this->sign, 1, MAX_LENGTH)) {
         $ari->error->addError("currency_currency", "INVALID_SIGN");
     }
     if (!OOB_validatetext::isCorrectLength($this->value, 1, MAX_LENGTH)) {
         $ari->error->addError("currency_currency", "INVALID_VALUE");
     }
     //@todo: falta validar pto y coma segun config del idioma y guardar segun acepta MySQL
     if (!OOB_numeric::isValid($this->value) || $this->value <= 0) {
         $ari->error->addError("currency_currency", "INVALID_VALUE");
     }
     //valido q no exista la moneda
     if ($this->id == ID_UNDEFINED) {
         //para nuevo busco uno con el mismo nombre
         $clausula = "";
     } else {
         //si actualizo busco con el mismo nombre pero con el mismo id
         $clausula = " AND id <> {$this->id}";
     }
     $savem = $ari->db->SetFetchMode(ADODB_FETCH_NUM);
     $name = $ari->db->qMagic($this->name);
     $sql = "SELECT true FROM currency_currency WHERE name = {$name} {$clausula}";
     $rs = $ari->db->Execute($sql);
     $ari->db->SetFetchMode($savem);
     if (!$rs->EOF && $rs) {
         if ($this->id == ID_UNDEFINED) {
             //para nuevo
             // si la moneda con el mismo nombre esta borrada la activo, sino da instancio un error
             $sql = "SELECT ID FROM currency_currency WHERE Name = {$name} AND Status = '" . DELETED . "'";
             $rs2 = $ari->db->Execute($sql);
             if (!$rs2->EOF && $rs) {
                 //asigno el id del el objeto que volvi a activar
                 $this->id = $rs2->fields[0];
                 $this->status = USED;
             } else {
                 $ari->error->addError("currency_currency", "DUPLICATE_CURRENCY");
             }
             //end if !rs->EOF
         } else {
             $ari->error->addError("currency_currency", "DUPLICATE_CURRENCY");
         }
         // end if
     }
     $rs->Close();
     if (!$ari->error->getErrorsfor("currency_currency")) {
         $ari->db->StartTrans();
         $id = $ari->db->qMagic($this->id);
         $value = OOB_numeric::formatMySQL($this->value);
         $value = $ari->db->qMagic($value);
         $sign = $ari->db->qMagic($this->sign);
         $type = $ari->db->qMagic($this->type);
         $status = $ari->db->qMagic($this->status);
         $name = $ari->db->qMagic($this->name);
         $default = $ari->db->qMagic($this->default);
         if ($this->id > ID_MINIMAL) {
             // update data
             $sql = "UPDATE Currency_Currency\n\t\t\t\t\t   SET Currency_Currency.Name = {$name},\n\t\t\t\t\t   \t   Currency_Currency.Sign = {$sign},\n\t\t\t\t\t   \t   Currency_Currency.Value = {$value},\n\t\t\t\t\t\t   Currency_Currency.Type = {$type},\n\t\t\t\t\t\t   Currency_Currency.Default = {$default},\t\t\n\t\t\t\t\t\t   Currency_Currency.Status = {$status}\n\t\t\t\t\t   WHERE ID = {$id}";
             $ari->db->Execute($sql);
             $return = true;
         } else {
             // insert new
             $sql = "INSERT INTO Currency_Currency\n\t\t\t\t\t   ( `Name`, `Sign`, `Value`, `Type`, `Default`, `Status`)\n\t\t\t\t\t   VALUES ( {$name}, {$sign},{$value}, \n\t\t\t\t\t   \t\t   {$type}, {$default}, {$status} )\n\t\t\t\t\t\t   \t";
             $ari->db->Execute($sql);
             $this->id = $ari->db->Insert_ID();
             $return = true;
         }
         //end if
         //si la moneda actual es la predeterminada debo setear como no prdeterminada a la anterior
         if ($this->default == YES) {
             $id = $ari->db->qMagic($this->id);
             $sql = "UPDATE Currency_Currency\n\t\t\t\t\t   SET `Default` = " . NO . "\n\t\t\t\t\t   WHERE `Default` = " . YES . " \n\t\t\t\t\t   AND `ID` <> {$id}\n\t\t\t\t\t  ";
             $ari->db->Execute($sql);
         }
         if (!$ari->db->CompleteTrans()) {
             throw new OOB_exception("Error en DB: {$ari->db}->ErrorMsg()", "010", "Error en la Base de Datos", false);
         } else {
             $return = true;
         }
         return $return;
     } else {
         // no validan los datos
         return false;
         //devuelve un objeto de error con los errores!
     }
     //end if
 }
Esempio n. 6
0
#
#  @copyright Pablo Micolini
#  @license BSD
######################################## 
*/

global $ari;
$handle = $ari->url->getVars();
$ari->t->caching = 0;

if (isset($handle[1]) && $handle[1] == 'update')
{$ari->t->assign('first',false);}
else
{$ari->t->assign('first',true);}

if (isset($handle[2]) && OOB_validatetext::isClean($handle[2]))
{$ari->t->assign('code',$handle[2]);}

if (isset($_POST['recover']))
{
	$ari->t->assign('posted',true);
	$usuario = oob_user::lostPass($_POST['email']);
	if ($usuario == false)
	{$ari->t->assign('first',true);
	$ari->t->assign('error',true);}
	else
	{
		$from_address = $ari->config->get('email', 'main');
		$from_name = $ari->config->get('name', 'main');
		$plantilla = $ari->newTemplate();
		$plantilla->caching = 0;
Esempio n. 7
0
 public function store($datos = array(), $type = "TYPE")
 {
     global $ari;
     // clean vars !
     $this->name = trim($this->name);
     if (!OOB_validatetext::isClean($this->name) || !OOB_validatetext::isCorrectLength($this->name, 1, MAX_LENGTH)) {
         $ari->error->addError(strtolower($this->class), "INVALID_NAME");
     }
     if (!OOB_validatetext::isClean($this->description) || !OOB_validatetext::isCorrectLength($this->description, 1, MAX_LENGTH)) {
         //$ari->error->addError (strtolower($this->class), "INVALID_DESCRIPTION");
     }
     if (!$ari->error->getErrorsfor($this->class)) {
         $id = $ari->db->qMagic($this->id);
         $name = $ari->db->qMagic($this->name);
         if ($this->id == ID_UNDEFINED) {
             //para nuevo busco uno con el mismo nombre
             $clausula = "";
         } else {
             //si actualizo busco con el mismo nombre pero con el mismo id
             $clausula = " AND id <> {$id} ";
         }
         $savem = $ari->db->SetFetchMode(ADODB_FETCH_NUM);
         $sql = "SELECT true as cuenta FROM {$this->table} WHERE `Name` = {$name} {$clausula}";
         $rs = $ari->db->Execute($sql);
         $ari->db->SetFetchMode($savem);
         if (!$rs->EOF && $rs->fields[0] != 0) {
             if ($this->id == ID_UNDEFINED) {
                 //para nuevo
                 $status = $ari->db->qMagic(DELETED);
                 // si el rol con el mismo nombre esta borrado lo activo, sino da instancio un error
                 $sql = "SELECT id FROM {$this->table} WHERE `Name` = {$name} AND Status = {$status} ";
                 $rs->Close();
                 $rs2 = $ari->db->Execute($sql);
                 if (!$rs2->EOF) {
                     //asigno el id del el objeto que volvi a activar
                     $this->id = $rs2->fields[0];
                     $id = $ari->db->qMagic($this->id);
                     // $this->status = USED;
                 } else {
                     $ari->error->addError(strtolower($this->class), "DUPLICATE_" . $type);
                 }
             } else {
                 $ari->error->addError(strtolower($this->class), "DUPLICATE_" . $type);
             }
         }
     }
     //--
     if (!$ari->error->getErrorsfor($this->class)) {
         $name = $ari->db->qMagic($this->name);
         $description = $ari->db->qMagic($this->description);
         $status = $ari->db->qMagic($this->status);
         if ($this->id > ID_MINIMAL) {
             $update = "";
             foreach ($datos as $item) {
                 $item['value'] = $ari->db->qMagic($item['value']);
                 $update .= ",`" . $item['field'] . "` = " . $item['value'];
             }
             // update data
             $ari->db->StartTrans();
             $sql = "UPDATE {$this->table} \n\t\t\t\t\t   SET `Name` = {$name}, `Description` = {$description},  \n\t\t\t\t\t\t   `Status` = {$status} {$update} WHERE id = {$id}\n\t\t\t\t\t\t   ";
             $ari->db->Execute($sql);
             if (!$ari->db->CompleteTrans()) {
                 throw new OOB_exception("Error en DB: {$ari->db->ErrorMsg()}", "010", "Error en la Base de Datos", false);
             } else {
                 return true;
             }
         } else {
             // insert new and set roleid with new id
             $ari->db->StartTrans();
             $fields = "";
             $values = "";
             foreach ($datos as $item) {
                 $fields .= ",`" . $item['field'] . "`";
                 $item['value'] = $ari->db->qMagic($item['value']);
                 $values .= "," . $item['value'];
             }
             $sql = "INSERT INTO {$this->table} \n\t\t\t\t\t   ( `Name`, `Description`, `Status` {$fields})\n\t\t\t\t\t   VALUES \n\t\t\t\t\t   ( {$name}, {$description}, {$status} {$values})\n\t\t\t\t\t\t";
             $ari->db->Execute($sql);
             $this->id = $ari->db->Insert_ID();
             if (!$ari->db->CompleteTrans()) {
                 throw new OOB_exception("Error en DB: {$ari->db->ErrorMsg()}", "010", "Error en la Base de Datos", false);
             } else {
                 return true;
             }
         }
     } else {
         // no validan los datos
         return false;
     }
 }