Example #1
0
	/**
	 * 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;
	}
Example #2
0
 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;
 }
Example #4
0
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;
}
Example #5
0
 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');
 }
Example #6
0
<?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();
}
Example #8
0
         $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);
Example #9
0
 /**
  * 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();
     }
 }
Example #11
0
<?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);
 }