/** 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 }
<?php #OOB/N1 Framework [2008 - Nutus] - PM // Codigo por JPCOSEANI // Script que procesa los datos del FORM UPDATE ROLE global $ari; $ari->popup = 1; $resultado = array(); $resultado["errors"] = array(); $resultado["success"] = false; if (isset($_POST['id'])) { //id if (OOB_validatetext::isNumeric($_POST['id'])) { $role = new seguridad_role($_POST['id']); } else { throw new OOB_exception("INVALID_ID_VALUE", "501", "INVALID_ID_VALUE", false); } //nombre $role->set('name', $_POST['txt_nombre']); //descripcion $role->set('description', $_POST['txt_descripcion']); //anonimo if (isset($_POST['chk_anonimo'])) { $role->set('anonymous', ANONIMO); } else { $role->set('anonymous', NO_ANONIMO); } //confiable if (isset($_POST['chk_confiados'])) { $role->set('trustees', YES); } else {
<?php /* Nutus, Todos los derechos reservados 2005 * Creado: 28-nov-2005 * */ if (!seguridad::isAllowed(seguridad_action::nameConstructor('selectforemployee', 'user', 'seguridad'))) { throw new OOB_exception("Acceso Denegado", "403", "Acceso Denegado. Consulte con su Administrador!", true); } global $ari; $handle = $ari->url->getVars(); $ari->t->caching = 0; $ari->popup = true; // valida pos $pos = 0; if (isset($_GET['pos']) && OOB_validatetext::isNumeric($_GET['pos']) && $_GET['pos'] > 0) { $pos = $_GET['pos']; } //levanta el limit $modulo = new oob_module("personnel"); $limit = $modulo->config()->get('limit', 'employee'); $ari->t->assign('limit', $limit); $ari->t->assign('total', oob_user::userCountNoAsigned()); $users = array(); if ($return = oob_user::listNoAssigned('uname', $pos, $limit)) { // show time $i = 0; foreach ($return as $u) { $users[$i]['id'] = $u->get('user'); $users[$i]['uname'] = $u->name(); $users[$i]['unameClean'] = OOB_validatetext::cleanToScript($u->name());
/** Lista los usuarios miembros de los roles que se encuentran * en el array $roles pasado como paramentro y que tengan el * estado = USED, ademas lista los usuarios q se encuentren en algun * grupo q sea miembro del algun rol pasado como parametro * */ public static function listAllUsersFor($roles) { global $ari; $roles_array = array(); //si no es array el parametro lo transformo en uno if (!is_array($roles)) { $roles_array[0] = $roles; } else { $roles_array = $roles; } //recorro el array, y formo la clausula solo con los id // de los objetos seguridad_role para usarlo en la clausula in $in_string = ""; $flagFirst = true; foreach ($roles_array as $r) { if (is_a($r, "seguridad_role")) { if ($flagFirst) { $in_string .= $ari->db->qMagic($r->get('role')); $flagFirst = false; } else { $in_string .= ',' . $ari->db->qMagic($r->get('role')); } } //end if } //end foreach if ($in_string == "") { $ari->error->addError("seguridad_role", "INVALID_ROLE"); return false; } $savem = $ari->db->SetFetchMode(ADODB_FETCH_ASSOC); //armo la consulta para traer los usuarios miembros del rol $sql1 = "SELECT `OOB_User_User`.`ID`, `OOB_User_User`.`Uname`, \n\t\t\t\t\t `OOB_User_User`.`Password`, `OOB_User_User`.`Email`, \n\t\t\t\t `OOB_User_User`.`Connections`, `OOB_User_User`.`Status`, \n\t\t\t\t `OOB_User_User`.`EmployeeID` \n\t\t\t\tFROM `Security_UsersRole`, `OOB_User_User`\n WHERE `Security_UsersRole`.`UserID` = `OOB_User_User`.`ID`\n\t\t\t\tAND `Security_UsersRole`.`RoleID` IN ({$in_string}) \n\t\t\t\tAND `OOB_User_User`.`Status` = '" . USED . "' \n\t\t\t\t"; //armo la consulta para traer los usuarios miembros de algun grupo q sea //miembro de algun rol $sql2 = "SELECT `OOB_User_User`.`ID`, `OOB_User_User`.`Uname`, \n\t\t\t\t\t `OOB_User_User`.`Password`, `OOB_User_User`.`Email`, \n\t\t\t\t `OOB_User_User`.`Connections`, `OOB_User_User`.`Status`, \n\t\t\t\t `OOB_User_User`.`EmployeeID` \n\t\t\t\t FROM `OOB_User_User`, `Security_UsersGroup`\n\t\t\t\t WHERE `Security_UsersGroup`.`UserID` = `OOB_User_User`.`ID`\n\t\t\t\t AND `OOB_User_User`.`Status` = '" . USED . "' \n\t\t\t\t AND `Security_UsersGroup`.`GroupID` IN \n\t\t\t\t ( SELECT `Security_GroupsRole`.`GroupID` \n\t\t\t\t FROM `Security_GroupsRole` \n\t\t\t\t WHERE `Security_GroupsRole`.`RoleID` IN ({$in_string}) )\n\t\t\t\t ORDER BY 2"; $sql = $sql1 . " UNION " . $sql2; $rs = $ari->db->Execute($sql); $i = 0; $ari->db->SetFetchMode($savem); if ($rs && !$rs->EOF) { while (!$rs->EOF) { $return[$i] = new oob_user(ID_UNDEFINED); $return[$i]->set("user", $rs->fields["ID"]); $return[$i]->set("uname", $rs->fields["Uname"]); $return[$i]->set("password", $rs->fields["Password"]); $return[$i]->set("email", $rs->fields["Email"]); $return[$i]->set("maxcon", $rs->fields["Connections"]); $return[$i]->set("status", $rs->fields["Status"]); if (!empty($rs->fields['EmployeeID']) && OOB_validatetext::isNumeric($rs->fields['EmployeeID']) && $rs->fields['EmployeeID'] > ID_MINIMAL) { $return[$i]->set('employee', new personnel_employee($rs->fields['EmployeeID'])); } $i++; $rs->MoveNext(); } } else { $return = false; } $rs->Close(); return $return; }
* Created on 22/07/2008 * @author Pablo Micolini (pablo.micolini@nutus.com.ar) */ global $ari; $plantilla_bl = $ari->newTemplate(); $plantilla_bl->caching = 0; // dynamic content $language = $ari->get('agent')->getLang(); //var_dump($params);exit; //validar parametros del bloque $currency_selected = false; if (isset($params['currencyID']) && OOB_validatetext::isNumeric($params['currencyID']) && $params['currencyID'] > 0) { $currency_selected = $params['currencyID']; } $value = ''; if (isset($params['value']) && OOB_validatetext::isNumeric($params['value'])) { $value = $params['value']; } $prefix = 'currency'; if (isset($params['prefix'])) { $prefix = $params['prefix']; } if ($currencies = currency_currency::listCurrenciesForLanguage(USED, 'name', $operator = OPERATOR_EQUAL, $language)) { $i = 0; foreach ($currencies as $c) { $array_currencies[$c->get('id')] = $c->get('name') . " (" . $c->get('sign') . ")"; if ($currency_selected === false && $c->get('default') == YES) { $currency_selected = $c->get('id'); } $i++; }