offline
- gfactory
- Super građanin
- Pridružio: 26 Okt 2007
- Poruke: 1064
- Gde živiš: u Apache
|
@_iKaC,
izvini druže, mogao sam odmah reći .... jeste , ovo je bar delimično zend ili deo biblioteke ,
ovaj test fajl nisam vezao sa sajtom, probao sam sa posebne stranice da prosledim unos kroz formu, samo sam konektovao bazu mysql_connect i mysql_select_db....
Zato ne znam gde da mu lupim echo zend da bi video verziju.
Ovo čudo nema bootstrap.php a config.php evo ga... view ima a model i kontroler nemam pojma gde su mu kao što je razvrstano u CAKEPHP i Code Igniter-u
<?php
//Krenula sesija
session_start();
include ("mysql.php");
//Putanja za aplikaciju
define("APP_PATH", "library/");
define("MODULE_PATH", "../library/");
//Podesavanja za FB aplikacije
define('YOUR_APP_ID', ' ');
define('YOUR_APP_SECRET', ' ');
//Podesavanja za slike i za fajlove, ekstenzije
define("PIC_EXT", "jpg,jpeg");
define("GALLERY_EXT", "zip");
define("FILE_EXT", "zip,rar,pdf,doc,docx,xls,xlsx,jpg,gif,png,jpg");
//define("DOMAIN" , '');
define("FILE_MANAGER_PATH", "/home/free1/public_html/dev/uploads");
//Autolodujemo sve klase koje nadjemo u library folderu
function __autoload($class_name) {
if(is_file(APP_PATH . strtolower($class_name) . '.class.php')) {
include APP_PATH . strtolower($class_name) . '.class.php';
} else {
include MODULE_PATH . strtolower($class_name) . '.class.php';
}
}
//Kreiramo osnovne klase
$db = new Database();
$f = new Functions();
$site = new Site();
//utvrdjujemo koji je lang code, tj. na kom smo jezuku
$lang_code = $f->getValue("lang_code");
//Ako nema jezika onda cemo da iscitamo defaultni
if($lang_code == "") {
$language = new View("languages", 1, "is_default");
$currentLanguage = $language->id;
$lang_code = $language->code;
} else {
//Ako je setovan onda pravimo objekat sa tim jezikom
$language = new View("languages", $lang_code, "code");
$currentLanguage = $language->id;
}
//Iz lang fajla citamo sve promenljive i pakujemo u niz. Sve se nalazi u nizu $languageFileValues
$langfile = simplexml_load_file("library/languages/".$lang_code.".xml");
$languageFileValues = array();
foreach($langfile as $constant) {
$constkey = $constant->const;
$languageFileValues["$constkey"] = "$constant->value";
}
//Citamo iz settings tabele sve za ovaj jezik
$settings = new View("settings", $currentLanguage, "lang_id");
//Vadimo sva podesavanja za jezik
$configSiteTitle = $settings->site_title;
$configSiteFooter = $settings->site_footer; $dataSettings['site_footer'];
$configSiteKeywords = $settings->site_keywords;
$configSiteDescription = $settings->site_description;
$configSiteEmail = $settings->site_email;
$configSiteDomain = $settings->site_domain;
//Pitamo da li je logovan korisnik i pravimo objekat
//$logedUser = $f->logedUser();
$logedUser = $_SESSION["logedUser"];
if(!$logedUser) {
$isLoged = false;
} else {
$user = new View("users", $logedUser);
$isLoged = true;
}
//niz za osobine
$osobineNiz = array(
'svi-tipovi-objekta' => array(
'vlasnistvo' => 'Vlasništvo',
'spratnost' => 'Spratnost',
'gradnja' => 'Gradnja',
'grejanje' => 'Grejanje',
'velicina' => 'Veličina',
'kuca_spratnost' => 'Kuća spratnost',
'za_kucu' => 'Za kuću',
'spratnost' => 'Spratnost',
'namestenost' => 'Nameštenost',
'izdavanje_sobe' => 'Izdavanje sobe',
'kancelarije' => 'Kancelarije',
'garaza' => 'Garaza',
'depozit' => 'Depozit',
'stanarina' => 'Stanarina',
'izgled' => 'Izgled',
'dodaci' => 'Dodaci'
),
'stan' => array(
'vlasnistvo' => 'Vlasništvo',
'struktura' => 'Struktura',
'spratnost' => 'Spratnost',
'gradnja' => 'Gradnja',
'grejanje' => 'Grejanje',
'velicina' => 'Veličina',
'namestenost' => 'Nameštenost',
'depozit' => 'Depozit',
'stanarina' => 'Stanarina',
'izgled' => 'Izgled',
'dodaci' => 'Dodaci'
),
'kuca' => array(
'vlasnistvo' =>'Vlasništvo',
'gradnja' => 'Gradnja',
'kuca_spratnost' => 'Kuća spratnost',
'za_kucu' => 'Za kuću',
'namestenost' => 'Nameštenost',
'grejanje' => 'Grejanje',
'dodaci' => 'Dodaci',
'izgled' => 'Izgled',
'depozit' => 'Depozit',
'stanarina' => 'Stanatina',
'ljubimci' => 'Ljubimci'
),
'soba' => array(
'vlasnistvo' => 'Vlasništvo',
'gradnja' => 'Gradnja',
'spratnost' => 'Spratnost',
'namestenost' => 'Nameštenost',
'izgled' => 'Izgled',
'grejanje' => 'Grejanje',
'dodaci' => 'Dodaci',
'izdavanje_sobe' => 'Izdavanje sobe',
'stanarina' => 'Stanarina',
'depozit' => 'Depozit',
'ljubimci' => 'Ljubimci',
'soba' => 'Soba'
),
'garaza' => array(
'vlasnistvo' => 'Vlasništvo',
'gradnja' => 'Gradnja',
'garaza' => 'Garaza',
'stanarina' => 'Stanarina'
),
'ostalo' => array(
'vlasnistvo' => 'Vlasništvo',
'gradnja' => 'Gradnja',
'depozit' => 'Depozit',
'stanarina' => 'Stanarina'
),
'lokal' => array(
'vlasnistvo' => 'Vlasništvo',
'gradnja' => 'Gradnja',
'spratnost' => 'Spratnost',
'izgled' => 'Izgled',
'grejanje' => 'Grejanje',
'depozit' => 'Depozit',
'stanarina' => 'Stanarina'
),
'kancelarijski-prostor-poslovni-prostor' => array(
'vlasnistvo' => 'Vlasništvo',
'gradnja' => 'Gradnja',
'kancelarije' => 'Kancelarije',
'spratnost' => 'Spratnost',
'grejanje' => 'Grejanje',
'izgled' => 'Izgled',
'dodaci' => 'Dodaci',
'depozit' => 'Depozit',
'stanarina' => 'Stanarina'
),
'hale-magacini' => array(
'vlasnistvo' => 'Vlasništvo',
'gradnja' => 'Gradnja',
'kancelarije' => 'Kancelarije',
'grejanje' => 'Grejanje',
'depozit' => 'Depozit',
'stanarina' => 'Stanarina'
),
'ugostiteljski-objekat' => array(
'vlasnistvo' => 'Vlasništvo',
'gradnja' => 'Gradnja',
'spratnost' => 'Spratnost',
'namestenost' => 'Nameštenost',
'izgled' => 'Izgled',
'dodaci' => 'Dodaci',
'depozit' => 'Depozit',
'stanarina' => 'Stanarina'
),
'kiosk-stand' => array(
'vlasnistvo' => 'Vlasništvo',
'gradnja' => 'Gradnja',
'kiosk_stand' => 'Kiosk/Štand',
'dodaci' => 'Dodaci',
'depozit' => 'Depozit',
'stanarina' => 'Stanarina'
),
'plac-stovariste' => array(
'vlasnistvo' => 'Vlasništvo',
'gradnja' => 'Gradnja',
'depozit' => 'Depozit',
'stanarina' => 'Stanarina'
),
'poljoprivredno-zemljiste' => array(
'vlasnistvo' => 'Vlasništvo',
'gradnja' => 'Gradnja',
'depozit' => 'Depozit',
'stanarina' => 'Stanarina'
),
'kuca-vikendica' => array(
'vlasnistvo' => 'Vlasništvo',
'gradnja' => 'Gradnja',
'za_kucu' => 'Za kuću',
'izgled' => 'Izgled',
'dodaci' => 'Dodaci',
'grejanje' => 'Grejanje',
'ljubimci' => 'Ljubimci'
),
'apartman' => array(
'vlasnistvo' => 'Vlasništvo',
'gradnja' => 'Gradnja',
'spratnost' => 'Spratnost',
'soba' => 'Soba',
'grejanje' => 'Grejanje',
'izgled' => 'Izgled',
'dodaci' => 'Dodaci',
'ljubimci' => 'Ljubimci'
)
);
?>
view.class.php
<?php
class View extends Functions {
public $db, $f;
private $table, $key_value, $key_field;
function __construct($table, $key_value = false, $key_field = "id") {
$this->db = Database::__construct();
$this->f = Functions::__construct();
$this->table = $table;
$this->key_value = $key_value;
$this->key_field = $key_field;
$this->setFields();
if($key_value) {
$this->getData();
}
}
function createTableName($title) {
$tableName = strtolower($title);
$tableName = str_replace(" ", "_", $tableName);
$tableName = "_content_".$tableName;
return $tableName;
}
function createColumnName($title) {
$columnName = strtolower($title);
$columnName = str_replace(" ", "_", $columnName);
return $columnName;
}
function __destruct() {
unset($this->db, $this->f);
}
function Save() {
$fields = $this->getFields();
$SQL = "";
// if there is key value, then update this row in a table, else create a new one
if($this->key_value !== false) {
$SQL = "UPDATE `".$this->table."` SET ";
foreach ($fields as $key => $field_info) {
if($field_info['Field'] != $this->key_field) {
$SQL .= "`".$field_info['Field']."` = '".$this->{$field_info['Field']}."', ";
}
}
$SQL = substr($SQL, 0, strlen($SQL) - 2);
$SQL .= " WHERE `".$this->key_field."` = '".$this->key_value."'";
} else { // here we create a new one
$SQL = "INSERT INTO `".$this->table."` (";
foreach ($fields as $key => $field_info) {
if($field_info['Field'] != $this->key_field) {
$SQL .= "`".$field_info['Field']."`, ";
}
}
$SQL = substr($SQL, 0, strlen($SQL) - 2);
$SQL .= ") VALUES (";
foreach ($fields as $key => $field_info) {
if($field_info['Field'] != $this->key_field) {
$SQL .= "'".$this->{$field_info['Field']}."', ";
}
}
$SQL = substr($SQL, 0, strlen($SQL) - 2);
$SQL .= ")";
}
Database::execQuery($SQL);
if($this->key_value === false)
$this->id = $this->insertId;
}
function Remove() {
if($this->key_value !== false) {
Database::execQuery("DELETE FROM `".$this->table."` WHERE `".$this->key_field."` = '".$this->key_value."'");
}
}
function linkWith($foreign_table, $foreign) {
$SQL = "SELECT * FROM ";
$SQL .= "`".$foreign_table."` WHERE ";
foreach ($foreign as $rel_id => $for_id) {
$replacment = (isset($this->{$for_id})) ? $this->{$for_id} : $for_id;
$SQL .= "`".$rel_id."` = '".$replacment."' AND ";
}
$SQL = substr($SQL, 0, strlen($SQL) - 4);
$returnObject = array();
$query = Database::execQuery($SQL);
while($data = mysql_fetch_array($query, MYSQL_ASSOC)) {
$returnObject[] = new View($foreign_table, $data['id']);
}
return $returnObject;
}
function linkWithCustom($foreign_table, $SQL) {
$returnObject = array();
$query = Database::execQuery($SQL);
while($data = mysql_fetch_array($query, MYSQL_ASSOC)) {
$returnObject[] = new View($foreign_table, $data['id']);
}
return $returnObject;
}
function extend($input) {
foreach ($input as $field => $value) {
if(isset($this->{$field})) {
$this->{$field} = $this->stringCleaner($value);
}
}
}
/**
* Checks if the input value is valid
*
* @param string $value
* @param string $filter bool, email, float, int, ip, regex, url
* @param string $input_type
* @return input value if valid, false otherwise
*/
function checkInput($value, $filter, $input_type = INPUT_POST) {
$filter_id = "";
switch ($filter) {
case "bool": $filter_id = FILTER_VALIDATE_BOOLEAN; break;
case "email": $filter_id = FILTER_VALIDATE_EMAIL; break;
case "float": $filter_id = FILTER_VALIDATE_FLOAT; break;
case "int": $filter_id = FILTER_VALIDATE_INT; break;
case "ip": $filter_id = FILTER_VALIDATE_IP; break;
case "regex": $filter_id = FILTER_VALIDATE_REGEXP; break;
case "url": $filter_id = FILTER_VALIDATE_URL; break;
}
return filter_input($input_type, $value, $filter_id);
}
function dateNow() {
return date("Y-m-d H:i:s");
}
private function setFields() {
$q = Database::execQuery("SHOW COLUMNS FROM `".$this->table."`");
while($data = mysql_fetch_array($q, MYSQL_ASSOC)) {
$this->{$data['Field']} = "";
}
}
private function getFields() {
$q = Database::execQuery("SHOW COLUMNS FROM `".$this->table."`");
$fields = array();
while($data = mysql_fetch_array($q, MYSQL_ASSOC)) {
$fields[] = $data;
}
return $fields;
}
private function getData() {
$query = Database::execQuery("SELECT * FROM `".$this->table."` WHERE `".$this->key_field."` = '".$this->key_value."'");
if(mysql_num_rows($query) == 1) {
$row = mysql_fetch_array($query, MYSQL_ASSOC);
foreach ($row as $key => $value) {
$this->{$key} = $value;
}
/*
$foreignKeysQuery = Database::execQuery("SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '".DB_BASE."' AND CONSTRAINT_NAME != 'PRIMARY' AND TABLE_NAME='".$this->table."'");
$num = mysql_num_rows($foreignKeysQuery);
if($num > 0) {
while($dataForeign = mysql_fetch_array($foreignKeysQuery)) {
$column = $dataForeign["COLUMN_NAME"];
$this->{$dataForeign["REFERENCED_TABLE_NAME"]._object} = new View($dataForeign["REFERENCED_TABLE_NAME"], $row[$column],$dataForeign["REFERENCED_COLUMN_NAME"]);
}
} */
}
}
function debug($input) {
echo "<pre>";
var_dump($input);
echo "</pre>";
}
}
@Default
wishlist je običan podatak rekord, stavio sam mu varchar.
|