*/ /* 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": {
/** 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 }
/** 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! } }
/** 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! } }
/** 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 }
# # @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;
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; } }