/** * devuelve una referencia a la instancia conectada * @return object: instancia de self */ public static function getInstance() { if(!self::$singleton instanceof self) { //self::$singleton = new self(self::_DB_HOST_, self::_DB_USER_, self::_DB_PASSWD_, self::_DB_NAME_); self::$singleton = new self(self::$host, self::$user, self::$pass, self::$db); } return self::$singleton; }
private function getTableInfo($DBtable, $arrExcluidos = array()) { $arrTypes2Tags = array("varchar" => array("property" => "type", "tag" => "input", "tagType" => "text", "filterDefinition" => array("filter" => "FILTER_SANITIZE_SPECIAL_CHARS", "flags" => "", "options" => array())), "text" => array("property" => "type", "tag" => "textarea", "tagType" => "textarea", "filterDefinition" => array("filter" => "FILTER_SANITIZE_SPECIAL_CHARS", "flags" => "", "options" => array())), "int" => array("property" => "type", "tag" => "input", "tagType" => "text", "filterDefinition" => array("filter" => "FILTER_VALIDATE_INT", "flags" => "", "options" => array("default" => 1, "min_range" => 1, "max_range" => 10))), "tinyint(1)" => array("property" => "type", "tag" => "input", "tagType" => "checkbox", "filterDefinition" => array("filter" => "FILTER_VALIDATE_INT", "flags" => "", "options" => array("min_range" => 0, "max_range" => 1))), "enum" => array("property" => "type", "tag" => "select", "tagType" => "enum", "filterDefinition" => array()), "date" => array("property" => "type", "tag" => "input", "tagType" => "date", "filterDefinition" => array("filter" => "FILTER_VALIDATE_REGEXP", "flags" => "", "options" => array("regexp" => "#([0-9]{1,2})[/|-]([0-9]{1,2})[/|-]([0-9]{2,4})(?: ([0-9]{0,2}):([0-9]{0,2}):([0-9]{0,2}))*#"))), "datetime" => array("property" => "type", "tag" => "input", "tagType" => "datetime", "filterDefinition" => array("filter" => "FILTER_VALIDATE_REGEXP", "flags" => "", "options" => array("regexp" => "#([0-9]{1,2})[/|-]([0-9]{1,2})[/|-]([0-9]{2,4})(?: ([0-9]{0,2}):([0-9]{0,2}):([0-9]{0,2}))*#"))), "timestamp" => array("property" => "type", "tag" => "input", "tagType" => "datetime", "filterDefinition" => array("filter" => "FILTER_VALIDATE_REGEXP", "flags" => "", "options" => array("regexp" => "#([0-9]{1,2})[/|-]([0-9]{1,2})[/|-]([0-9]{2,4})(?: ([0-9]{0,2}):([0-9]{0,2}):([0-9]{0,2}))*#"))), "float" => array("property" => "type", "tag" => "input", "tagType" => "text", "filterDefinition" => array("filter" => "FILTER_VALIDATE_FLOAT", "flags" => "FILTER_FLAG_ALLOW_THOUSAND", "options" => array("decimal" => ","))), "email" => array("property" => "field", "tag" => "input", "tagType" => "email", "filterDefinition" => array("filter" => "FILTER_VALIDATE_EMAIL", "flags" => "", "options" => array())), "PRI" => array("property" => "key", "tag" => "input", "tagType" => "hidden", "filterDefinition" => array("filter" => "FILTER_VALIDATE_INT", "flags" => "", "options" => array("default" => NULL, "min_range" => 1, "max_range" => PHP_INT_MAX))), "MUL" => array("property" => "key", "tag" => "select", "tagType" => "dbSelect", "filterDefinition" => array("filter" => "FILTER_VALIDATE_INT", "flags" => "", "options" => array("default" => NULL, "min_range" => 1, "max_range" => PHP_INT_MAX)))); $mysqli = \cDb::getInstance(); $stdObjTableInfo = new \stdClass(); $stdObjTableInfo->tableName = $DBtable; $rslCreate = $mysqli->query("SHOW CREATE TABLE " . $stdObjTableInfo->tableName); $stdObjTableInfo->rslColumns = $mysqli->query("SHOW COLUMNS FROM " . $stdObjTableInfo->tableName); $stdObjTableInfo->rslIdx = $mysqli->query("show index from " . $stdObjTableInfo->tableName); $stdObjTableInfo->rslFksFrom = $mysqli->query("\n\t\t\t\t\tSELECT * FROM information_schema.KEY_COLUMN_USAGE\n\t\t\t\t\tWHERE\n\t\t\t\t\tTABLE_NAME = '" . $stdObjTableInfo->tableName . "' AND\n\t\t\t\t\tREFERENCED_TABLE_NAME IS NOT NULL\n\t\t\t\t\tAND TABLE_SCHEMA = '" . _DB_NAME_ . "';\n\t\t\t\t"); $stdObjTableInfo->rslFksTo = $mysqli->query("\n\t\t\t\t\tSELECT * FROM information_schema.KEY_COLUMN_USAGE\n\t\t\t\t\tWHERE REFERENCED_TABLE_NAME = '" . $stdObjTableInfo->tableName . "'\n\t\t\t\t\tAND TABLE_SCHEMA = '" . _DB_NAME_ . "';\n\t\t\t\t"); $stdObjTableInfo->arrCreateInfo = $rslCreate->fetch_array(MYSQLI_ASSOC); /**/ $stdObjTableInfo->arrFksFrom = array(); while ($fkInfo = $stdObjTableInfo->rslFksFrom->fetch_array(MYSQLI_ASSOC)) { $stdObjFkInfo = new \stdClass(); //$stdObjFkInfo->TABLE_NAME=$fkInfo['REFERENCED_TABLE_NAME']; //$stdObjFkInfo->COLUMN_NAME=$fkInfo['COLUMN_NAME']; $stdObjFkInfo->TABLE_NAME = $fkInfo['TABLE_NAME']; $stdObjFkInfo->COLUMN_NAME = $fkInfo['COLUMN_NAME']; $stdObjFkInfo->REFERENCED_TABLE_NAME = $fkInfo['REFERENCED_TABLE_NAME']; $stdObjFkInfo->REFERENCED_COLUMN_NAME = $fkInfo['REFERENCED_COLUMN_NAME']; array_push($stdObjTableInfo->arrFksFrom, $stdObjFkInfo); unset($stdObjFkInfo); } $stdObjTableInfo->rslFksFrom->data_seek(0); $stdObjTableInfo->arrFksTo = array(); while ($fkInfo = $stdObjTableInfo->rslFksTo->fetch_array(MYSQLI_ASSOC)) { $stdObjFkInfo = new \stdClass(); //$stdObjFkInfo->TABLE_NAME=$fkInfo['TABLE_NAME']; //$stdObjFkInfo->COLUMN_NAME=$fkInfo['COLUMN_NAME']; $stdObjFkInfo->TABLE_NAME = $fkInfo['TABLE_NAME']; $stdObjFkInfo->COLUMN_NAME = $fkInfo['COLUMN_NAME']; $stdObjFkInfo->REFERENCED_TABLE_NAME = $fkInfo['REFERENCED_TABLE_NAME']; $stdObjFkInfo->REFERENCED_COLUMN_NAME = $fkInfo['REFERENCED_COLUMN_NAME']; //Comprobación si la FkTo corresponde a una relaccion manyToMany //En la tabla FkTo tiene que haber una FkFrom que forme parte de la Pk //Buscamos todas las FkFrom en la tabla de la FkTo actual (Todas salvo la FkTo que actual, que nos ha llevado a la tabla) //Comprobamos si la FkFrom está incluida en la Pk $rslFksFromFkTo = $mysqli->query("\n\t\t\t\t\t\tSELECT * FROM information_schema.KEY_COLUMN_USAGE\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\tTABLE_NAME = '" . $fkInfo['TABLE_NAME'] . "' AND\n\t\t\t\t\t\t(REFERENCED_TABLE_NAME IS NULL OR\n\t\t\t\t\t\tREFERENCED_TABLE_NAME <> '" . $stdObjTableInfo->tableName . "') AND\n\t\t\t\t\t\tTABLE_SCHEMA = '" . _DB_NAME_ . "';\n\t\t\t\t\t"); $arrPkColumns = array(); $arrFkColumns = array(); while ($fkFromFkToInfo = $rslFksFromFkTo->fetch_array(MYSQLI_ASSOC)) { switch ($fkFromFkToInfo['CONSTRAINT_NAME']) { //TODO: Mejora: no usar CONSTRAINT_NAME, la Pk podría llamarse de otro modo. Buscar un modo de llegar a TABLE_CONSTRAINT.CONSTRAINT_TYPE case 'PRIMARY': $arrPkColumns[] = $fkFromFkToInfo['TABLE_NAME'] . '.' . $fkFromFkToInfo['COLUMN_NAME']; break; default: $arrFkColumns[] = $fkFromFkToInfo['TABLE_NAME'] . '.' . $fkFromFkToInfo['COLUMN_NAME']; } } $arrFkManyToMany = array_intersect($arrPkColumns, $arrFkColumns); $rslFksFromFkTo->data_seek(0); while ($fkFromFkToInfo = $rslFksFromFkTo->fetch_array(MYSQLI_ASSOC)) { if (in_array($fkFromFkToInfo['TABLE_NAME'] . '.' . $fkFromFkToInfo['COLUMN_NAME'], $arrFkManyToMany)) { $fkFromFkToREFERENCED_TABLE_NAME = $fkFromFkToInfo['REFERENCED_TABLE_NAME']; $fkFromFkToCOLUMN_NAME = $fkFromFkToInfo['COLUMN_NAME']; } } $stdObjFkInfo->manyToMany = false; $stdObjFkInfo->ffTable = null; $stdObjFkInfo->ffField = null; if (count($arrFkManyToMany) > 0) { $stdObjFkInfo->manyToMany = true; $stdObjFkInfo->ffTable = $fkFromFkToREFERENCED_TABLE_NAME; $stdObjFkInfo->ffField = $fkFromFkToCOLUMN_NAME; } array_push($stdObjTableInfo->arrFksTo, $stdObjFkInfo); unset($stdObjFkInfo); } $stdObjTableInfo->rslFksTo->data_seek(0); /**/ $stdObjTableInfo->arrStdObjColumnInfo = array(); $stdObjTableInfo->arrAttrs = array(); while ($columnInfo = $stdObjTableInfo->rslColumns->fetch_array(MYSQLI_ASSOC)) { if (in_array($columnInfo['Field'], $arrExcluidos)) { continue; } $stdObjColumnInfo = new \stdClass(); $stdObjColumnInfo->field = $columnInfo['Field']; $stdObjColumnInfo->type = $columnInfo['Type']; $stdObjColumnInfo->null = $columnInfo['Null'] == 'NO' ? false : true; $stdObjColumnInfo->key = $columnInfo['Key']; $stdObjColumnInfo->default = $columnInfo['Default']; $stdObjColumnInfo->extra = $columnInfo['Extra']; $tag = 'input'; $tagType = "text"; $filterDefinition = array(); foreach ($arrTypes2Tags as $strSearchFor => $options) { $property = $options["property"]; if (strpos($stdObjColumnInfo->{$property}, $strSearchFor) !== false) { $tag = $options["tag"]; $tagType = $options["tagType"]; $filterDefinition = $options["filterDefinition"]; } if ($tag == "select") { $arrSelectValues = array(); switch ($strSearchFor) { case "enum": preg_match('/enum\\((.*)\\)$/', $stdObjColumnInfo->type, $matches); $arrSelectValues = explode(',', $matches[1]); $strRegEx = ""; foreach ($arrSelectValues as $value) { $value = trim($value, "'"); $strRegEx .= $value . "|"; } $strRegEx = substr($strRegEx, 0, -1); $filterDefinition = array("filter" => "FILTER_VALIDATE_REGEXP", "flags" => "", "options" => array("regexp" => "~" . $strRegEx . "~")); break; //Select con consulta a BD //Select con consulta a BD case "MUL": foreach ($stdObjTableInfo->arrFksFrom as $stdObjFkInfo) { if ($stdObjFkInfo->COLUMN_NAME == $stdObjColumnInfo->field) { $campoSelect = ''; $rslFk = $mysqli->query('SHOW COLUMNS FROM ' . $stdObjFkInfo->REFERENCED_TABLE_NAME); while ($rtColumnInfo = $rslFk->fetch_array(MYSQLI_ASSOC)) { $fieldName = strtolower($rtColumnInfo['Field']); switch ($fieldName) { case 'nombre': case 'descripcion': $campoSelect = $fieldName; break 2; } } if ($campoSelect == "") { $campoSelect = $stdObjFkInfo->REFERENCED_COLUMN_NAME; } $sql = 'SELECT ' . $stdObjFkInfo->REFERENCED_COLUMN_NAME . ' as value, ' . $campoSelect . ' as content ' . 'FROM ' . $stdObjFkInfo->REFERENCED_TABLE_NAME . ' ORDER BY ' . $stdObjFkInfo->REFERENCED_COLUMN_NAME; $arrSelectValues[] = $sql; } } break; } } } $stdObjColumnInfo->tag = $tag; $stdObjColumnInfo->tagType = $tagType; $stdObjColumnInfo->filterDefinition = $filterDefinition; if (isset($arrSelectValues)) { $stdObjColumnInfo->arrSelectValues = $arrSelectValues; unset($arrSelectValues); } //array_push($stdObjTableInfo->arrStdObjColumnInfo,$stdObjColumnInfo); $stdObjTableInfo->arrStdObjColumnInfo[$stdObjColumnInfo->field] = $stdObjColumnInfo; $stdObjTableInfo->arrAttrs[$stdObjColumnInfo->field] = $stdObjColumnInfo->type; unset($stdObjColumnInfo); } $stdObjTableInfo->rslColumns->data_seek(0); return $stdObjTableInfo; }
public function checkLoggedUser() { if ($_SESSION['session']) { $user = cDb::select(array('core_authentications', array('user', '=', 'core_users.id', 'LEFT'), 'core_users', array('role', '=', 'core_roles.id', 'LEFT'), 'core_roles'), array('core_users.*', 'session', 'core_roles.name as rolename'), array(array('session', '=', $_SESSION['session']), 'AND', array('ip', '=', $_SERVER['REMOTE_ADDR']), 'AND', array('core_users.active', '=', 1)), null, 1); if (count($user)) { return $user[0]; } } return false; }
function dataTablesGenericServerSide($objCliente = NULL) { $db = cDb::gI(); $sOrder = ""; if (isset($_REQUEST['iSortCol_0'])) { for ($i = 0; $i < intval($_REQUEST['iSortingCols']); $i++) { if ($_REQUEST['bSortable_' . intval($_REQUEST['iSortCol_' . $i])] == "true") { $sOrder .= "`" . $db->real_escape_string($_REQUEST['mDataProp_' . intval($_REQUEST['iSortCol_' . $i])]) . "` " . $db->real_escape_string($_REQUEST['sSortDir_' . $i]) . ", "; } } $sOrder = substr_replace($sOrder, "", -2); } $GLOBALS['firephp']->info($sOrder); //TODO: Mejora: Realizar el filtro mediante indices FULLTEXT /* * Filtering * NOTE this does not match the built-in DataTables filtering which does it * word by word on any field. It's possible to do here, but concerned about efficiency * on very large tables, and MySQL's regex functionality is very limited */ $sWhere = ""; if (isset($_REQUEST['sSearch']) && $_REQUEST['sSearch'] != "") { $sWhere = "("; for ($i = 0; $i < $_REQUEST['iColumns']; $i++) { if (isset($_REQUEST['bSearchable_' . $i]) && $_REQUEST['bSearchable_' . $i] == "true") { $sWhere .= "`" . $db->real_escape_string($_REQUEST['mDataProp_' . $i]) . "` LIKE '%" . $db->real_escape_string($_REQUEST['sSearch']) . "%' OR "; } } $sWhere = substr_replace($sWhere, "", -3); $sWhere .= ')'; } // Individual column filtering /* TODO: Mejora: Implementar filtro individual por columnas for ($i=0;$i<$_REQUEST['iColumns'];$i++) { if ( isset($_REQUEST['bSearchable_'.$i]) && $_REQUEST['bSearchable_'.$i] == "true" && $_REQUEST['sSearch_'.$i] != '' ) { if ( $sWhere == "" ) { $sWhere = ""; } else { $sWhere .= " AND "; } $sWhere .= "`".$db->real_escape_string($_REQUEST['mDataProp_'.$i])."` LIKE '%".$db->real_escape_string($_REQUEST['sSearch_'.$i])."%' "; } } */ $GLOBALS['firephp']->info($sWhere); $sLimit = ""; if ($_REQUEST['iDisplayLength'] != -1) { $sLimit = intval($_REQUEST['iDisplayStart']) . "," . intval($_REQUEST['iDisplayLength']); } $GLOBALS['firephp']->info($sLimit); //La clase pasada debe contener el dataMetodo, que debe aceptar 3 parametros, sWhere, sOrder y sLimit (busqueda, orden y paginacion) //El valor especial 'thisUsr' siginfica que la clase es el objeto usuario de la session y la llamada no es estatica if (!(isset($_REQUEST['clase']) && $_REQUEST['clase'] == 'thisUsr')) { if (isset($_REQUEST['clase'])) { if (class_exists($_REQUEST['clase'])) { $clase = $_REQUEST['clase']; } else { throw new Exception('Clase ' . $_REQUEST['clase'] . ' no existe'); } } else { throw new Exception('Parametro clase requerido'); } if (isset($_REQUEST['metodo'])) { if (method_exists($clase, $_REQUEST['metodo'])) { $metodo = $_REQUEST['metodo']; } else { throw new Exception('Metodo ' . $_REQUEST['metodo'] . ' no existe'); } } else { throw new Exception('Parametro metodo requerido'); } $arrStdObjs = $clase::$metodo(); $total = count($arrStdObjs); $arrStdObjs = $clase::$metodo($sWhere); $totalDisplay = count($arrStdObjs); $arrStdObjs = $clase::$metodo($sWhere, $sOrder, $sLimit); $arrDataTables = $arrStdObjs; } else { //$clase=new Cliente($idCliente); $clase = $objCliente; if (isset($_REQUEST['metodo'])) { if (method_exists($clase, $_REQUEST['metodo'])) { $metodo = $_REQUEST['metodo']; } else { throw new Exception('Metodo ' . $_REQUEST['metodo'] . ' no existe'); } } else { throw new Exception('Parametro metodo requerido'); } $arrStdObjs = $clase->{$metodo}(); $total = count($arrStdObjs); $arrStdObjs = $clase->{$metodo}($sWhere); $totalDisplay = count($arrStdObjs); $arrStdObjs = $clase->{$metodo}($sWhere, $sOrder, $sLimit); $arrDataTables = $arrStdObjs; } for ($i = 0; $i < count($arrDataTables); $i++) { $arrDataTables[$i]->DT_RowId = $arrDataTables[$i]->id; } $objDT = new \stdClass(); $objDT->sEcho = $_REQUEST['sEcho']; $objDT->iTotalRecords = $total; $objDT->iTotalDisplayRecords = $totalDisplay; $objDT->data = $arrDataTables; return $objDT; }
public function setUserAccount() { $result = cDb::select('useraccount', '*', array('user', '=', self::getUserData('id'))); cCfg::$aUserData['account'] = array(); if (is_array($result) && count($result)) { //cCfg::$idActiveUseraccount = $result[0]['id']; cCfg::$aUserData['account'] = $result[0]; } $aDod = cDb::select('dodavatele', '*', array('useracc', '=', $result[0]['id'])); cCfg::$aUserData['dodavatele'] = array(); foreach ($aDod as $dod) { cCfg::$aUserData['dodavatele'][$dod['id']] = $dod; if (is_null(cCfg::$idActiveUseraccount)) { cCfg::$idActiveUseraccount = $dod['id']; } } cCfg::$logs->addLog(cCfg::$aUserData, 'aUserData'); }
<?php if (!session_id()) { @session_start(); } require_once "../core/core_defines.inc.php"; require_once ROOT_PATH . "core/global_fce.php"; requireFile("admin/admin_fce.php"); $DB = new cDb(); $DB->connect(); $CFG = new cCfg(); $Logs = new cLogs("index.php"); $Logs->on(); $Logs->addLog($_POST, "POST"); $_aErrors = array(); $_aAlerts = array(); $Authent = new cAuthentication(); $bAut = $Authent->authenticate(); if (!$bAut && ADMIN_PAGE_ACCESS_AUTHORIZIED || $bAut && !$CFG->hasCapability('superadmin')) { header("Location: " . HTTP_PATH); } $_index_rights = true; foreach ($_GET as $k => $v) { $_GET[$k] = get_magic_quotes_gpc() ? trim($v) : trim(addslashes($v)); } /// update capabilities /// if (isset($_POST['update_capab'])) { _updateCapabilities(); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
function admin_getAllCapabWithRights() { $aData = cDb::select(array('core_capabilities as c', array('c.id', '=', 'capability', 'LEFT'), 'core_role_capability as rc'), array('rc.id', 'rc.role as roleid', 'c.id as capid', 'c.name', 'description')); if (is_array($aData)) { return admin_parseCapabData($aData); } return array(); }
$ancho = isset($_GET["ancho"]) ? $_GET["ancho"] : 640; $alto = isset($_GET["alto"]) ? $_GET["alto"] : 480; $categoria = isset($_GET["fichero"]) ? "/" . $_GET["fichero"] : ""; $url = "http://lorempixel.com/" . $ancho . "/" . $alto . $categoria; //$firephp->info($url,"URL: "); $objImg = Imagen::fromString(file_get_contents($url)); } catch (Exception $e) { error_log($e->getMessage()); $file = BASE_IMGS_DIR . 'imgErr.png'; $objImg = Imagen::fromFile($file); } break; case "DB": try { \cDb::conf(_DB_HOST_, _DB_USER_, _DB_PASSWD_, _DB_NAME_); $db = cDb::getInstance(); list($tabla, $campoId, $valorId, $campoData) = explode('.', $_GET["fichero"]); $sql = "SELECT " . $campoId . ", " . $campoData . " FROM " . $tabla . " WHERE id='" . $db->real_Escape_String($valorId) . "'"; //$GLOBALS['firephp']->info($sql); $rslSet = $db->query($sql); if ($rslSet->num_rows > 0) { $data = $rslSet->fetch_object(); $data = $data->{$campoData}; } $objImg = Imagen::fromString($data); //$objImg->marcaAgua(""); //$objImg->marcaAgua("",1,1,"center"); } catch (Exception $e) { error_log(print_r($e, true)); $file = BASE_IMGS_DIR . 'imgErr.png'; $objImg = Imagen::fromFile($file);
/** * close the existing connection to DB * @param string $msg - message to Logs */ private function closeConnection($msg = "") { if (self::$connection) { mysql_close(self::$connection); $msg = $msg == "" ? $this->dbase : $msg; cDb::$logs->addLog("Connection closed to DB: {$msg}", "connection", cDb::$logClass); cLogsDb::addFileLog("Connection closed: {$msg}"); //cDb::$logs->addLog() } self::$connection = null; }
/** * get all data from DB about the page * @param mixed $paramValue - can be number or string; value of column to be selected from DB * @param string $paramName[optional][default 'name'] - name of column in table core_pages; the query is based on it; * <p><strong>allowed: id, name</strong></p> * @return array - if no record about this pageName, returns empty array otherwise return the first record */ public function getPageData($paramValue, $paramName = 'name') { $paramValue = get_magic_quotes_gpc() ? $paramValue : addslashes($paramValue); if (in_array($paramName, array("id", "name"))) { $aPageVal = array($paramName, '=', $paramValue); } else { return array(); } $result = cDb::select('core_pages', '*', array($aPageVal)); if (is_array($result) && count($result)) { return $result[0]; } else { return array(); } }
<?php if (!session_id()) { @session_start(); } require_once "core/core_defines.inc.php"; require_once "core/global_fce.php"; require_once "custom_defines.inc.php"; $Logs = new cLogs("index.php"); $Logs->on(); $Logs->addLog($_POST, "POST"); $DB = new cDb(); $connection = $DB->connect(); if ($connection) { $CFG = new cCfg(); if (!isset($_GET['_pageAction_'])) { if (is_string($CFG->getDefaultPage('path'))) { header("Location: " . $CFG->getDefaultPage('path')); } else { if (!ADMIN_PAGE_ACCESS_AUTHORIZIED) { header("Location: " . HTTP_PATH . "admin"); } } } $action = get_magic_quotes_gpc() ? $_GET['_pageAction_'] : addslashes($_GET['_pageAction_']); //$Logs->addLog($action,"_pageAction_"); $CORE = new cBuildIndex($action); if (MK_DEBUG) { $CORE->addCssToHead("core/logs.css"); } $Authent = new cAuthentication();
/** * Funkce vrati data odberatele dle ID a v pripade zadani druheho parametru * i v zavislosti na ID uzivatelskeho uctu. Pokud takoveho odberatele nenalezne, vrati prazdne pole. * Pokud je $id null a je nastaven druhy parametr, vrati odberatele pro dany uz. ucet. * Pokud jsou oba parametry NULL, vrati vsechny odberatele v db. * @param int $id[optional][default null] - id odberatele * @param int $userAccountId[optional][default null] - id uzivatelskeho uctu, pod kterym je odberatel ulozen * @return array */ public function getOdberatel($id = null, $userAccountId = null) { if (is_null($userAccountId) && is_null($id)) { return cDb::select('odberatele', '*'); } else { if (is_null($userAccountId)) { $where = array('id', '=', trim($id)); } else { if (is_null($id)) { $where = array('useracc', '=', trim($userAccountId)); } else { $where = array(array('id', '=', trim($id)), 'AND', array('useracc', '=', trim($userAccountId))); } } } return cDb::select('odberatele', '*', $where); }