* @author * @access public */ /** * * * @link http://cms.alpha.inetra.ru * @version 1.0 * @copyright Copyright: 2003 Inetra, Inc. * @author * @access public */ class cmsIntegerType { /** * . : " ", "" .... * * @var string */ var $friendly_name = ' '; /** * ( , ..) * * @var string */ var $prefix = 'int1'; /** * . . * * @var Int */ var $data = 0; /** * Mysql * * @var string */ var $mysqlName = "int(11)"; /** * Pgsql * * @var string */ var $pgsqlName = "integer"; /** * . . * */ /** * - * * @var string */ var $params = ""; /** * * * @return string */ function getClassName() { return "cmsIntegerType"; } /** * * @return string */ function getName() { return $this->friendly_name; } /** * * @param string */ function setName($_friendly_name) { $this->friend_namely = $_friendly_name; return; } /** * . * * @return string */ function getPrefix() { return $this->prefix; } /** * . * * @param string */ function setPrefix($_prefix) { $this->prefix = $_prefix; return; } /** * Mysql . * * @return string */ function getMysqlName() { return $this->mysqlName; } /** * Mysql . * * @return string */ function getPgsqlName() { return $this->pgsqlName; } /** * . * * @return string */ function get() { return $this->data; } /** * . * * @param Mixed */ function set($_data) { $this->data = $_data; return; } /** * POST * */ function getDataFromPOST() { global $_POST; $this->data = (int)$_POST[$this->prefix]; return; } /** * SQL UPDATE * * @param string enum("mysql", "pgsql") * * @return string */ function getSQLUpdate($db_type = "mysql") { $sql = ""; switch ($db_type) { case "mysql" : $sql = $this->prefix." = ".$this->data; break; case "pgsql" : $sql = $this->prefix." = ".$this->data; break; default : $sql = $this->prefix." = ".$this->data; break; } return $sql; } /** * SQL INSERT * * @param string enum("mysql", "pgsql") * * @return Array(2) */ function getSQLInsert($db_type = "mysql") { $sql = Array(); switch ($db_type) { case "mysql" : $sql[0] = $this->prefix; $sql[1] = $this->data; break; case "pgsql" : $sql[0] = $this->prefix; $sql[1] = $this->data; break; default : $sql[0] = $this->prefix; $sql[1] = $this->data; break; } return $sql; } /** * HTML . * * @return string */ function getHTMLData() { return $this->data; } /** * HTML * * @return string */ function getFORMData() { return ""; } } /** * * * @link http://cms.alpha.inetra.ru * @version 1.0 * @copyright Copyright: 2003 Inetra, Inc. * @author * @access public */ class cmsStringType extends cmsIntegerType { /** * */ function cmsStringType() { $this->friendly_name = ''; $this->prefix = 'str1'; $this->data = ""; $this->mysqlName = "varchar(255)"; $this->pgsqlName = "varchar(255)"; $this->params = ""; } /** * . . * */ /** * * * @return string */ function getClassName() { return "cmsStringType"; } /** * POST * */ function getDataFromPOST() { global $_POST; $this->data = $_POST[$this->prefix]; return; } /** * SQL UPDATE * * @param string enum("mysql", "pgsql") * * @return string */ function getSQLUpdate($db_type = "mysql") { $sql = ""; switch ($db_type) { case "mysql" : $sql = $this->prefix." = '".$this->data."'"; break; case "pgsql" : $sql = $this->prefix." = '".$this->data."'"; break; default : $sql = $this->prefix." = '".$this->data."'"; break; } return $sql; } /** * SQL INSERT * * @param string enum("mysql", "pgsql") * * @return Array(2) */ function getSQLInsert($db_type = "mysql") { $sql = Array(); switch ($db_type) { case "mysql" : $sql[0] = $this->prefix; $sql[1] = "'".$this->data."'"; break; case "pgsql" : $sql[0] = $this->prefix; $sql[1] = "'".$this->data."'"; break; default : $sql[0] = $this->prefix; $sql[1] = "'".$this->data."'"; break; } return $sql; } /** * HTML . * * @return string */ function getHTMLData() { return Trim($this->data); } /** * HTML * * @return string */ function getFORMData() { return ""; } } /** * * * @link http://cms.alpha.inetra.ru * @version 1.0 * @copyright Copyright: 2003 Inetra, Inc. * @author * @access public */ class cmsMoneyType extends cmsIntegerType { var $currency_types = Array(); var $display = 0; var $format = 0; /** * */ function cmsMoneyType() { $this->friendly_name = ' '; $this->prefix = 'money1'; $this->data = ""; $this->mysqlName = "varchar(255)"; $this->pgsqlName = "varchar(255)"; $this->params = ""; $this->currency_types["RUS"] = ""; $this->currency_types["USD"] = "$"; $this->currency_types["EUR"] = "€"; } /** * . . * */ /** * * * @return string */ function getClassName() { return "cmsMoneyType"; } /** * POST * */ function getDataFromPOST() { global $_POST; if ($_POST[$this->prefix]) $this->data = round((float)$_POST[$this->prefix], 2); else $this->data = 0.00; return; } /** * SQL UPDATE * * @param string enum("mysql", "pgsql") * * @return string */ function getSQLUpdate($db_type = "mysql") { $sql = ""; switch ($db_type) { case "mysql" : $sql = $this->prefix." = '".$this->get()."'"; break; case "pgsql" : $sql = $this->prefix." = '".$this->get()."'"; break; default : $sql = $this->prefix." = '".$this->get()."'"; break; } return $sql; } /** * SQL INSERT * * @param string enum("mysql", "pgsql") * * @return Array(2) */ function getSQLInsert($db_type = "mysql") { $sql = Array(); switch ($db_type) { case "mysql" : $sql[0] = $this->prefix; $sql[1] = "'".$this->get()."'"; break; case "pgsql" : $sql[0] = $this->prefix; $sql[1] = "'".$this->get()."'"; break; default : $sql[0] = $this->prefix; $sql[1] = "'".$this->get()."'"; break; } return $sql; } /** * . * * @return string */ function get() { $this->data = round((float)$this->data, 2); return $this->data; } /** * HTML . * * @return string */ function getHTMLData() { if (!$this->params) return $this->get()."."; else { $_params_array = explode (":", $this->params); $data_currency = $_params_array[0]; $display_currency = $_params_array[1]; $currency_exchange = round((float)$_params_array[2], 2); if ($currency_exchange <= 0) $currency_exchange = 1; return round((float)($this->get() * $currency_exchange), 2);//." ".$this->currency_types[$display_currency]; } } /** * HTML * * @return string */ function getFORMData() { $_params_array = explode (":", $this->params); $valute = $_params_array[0]; return " ".$this->currency_types[$valute]; } } /** * Text * * @link http://cms.alpha.inetra.ru * @version 1.0 * @copyright Copyright: 2003 Inetra, Inc. * @author * @access public */ class cmsTextType extends cmsIntegerType { /** * */ function cmsTextType() { $this->friendly_name = ''; $this->prefix = 'text1'; $this->data = ""; $this->mysqlName = "text"; $this->pgsqlName = "text"; $this->params = ""; } /** * . . * */ /** * * * @return string */ function getClassName() { return "cmsTextType"; } /** * POST * */ function getDataFromPOST() { global $_POST; $this->data = $_POST[$this->prefix]; return; } /** * SQL UPDATE * * @param string enum("mysql", "pgsql") * * @return string */ function getSQLUpdate($db_type = "mysql") { $sql = ""; switch ($db_type) { case "mysql" : $sql = $this->prefix." = '".$this->data."'"; break; case "pgsql" : $sql = $this->prefix." = '".$this->data."'"; break; default : $sql = $this->prefix." = '".$this->data."'"; break; } return $sql; } /** * SQL INSERT * * @param string enum("mysql", "pgsql") * * @return Array(2) */ function getSQLInsert($db_type = "mysql") { $sql = Array(); switch ($db_type) { case "mysql" : $sql[0] = $this->prefix; $sql[1] = "'".$this->data."'"; break; case "pgsql" : $sql[0] = $this->prefix; $sql[1] = "'".$this->data."'"; break; default : $sql[0] = $this->prefix; $sql[1] = "'".$this->data."'"; break; } return $sql; } /** * HTML . * * @return string */ function getHTMLData() { return trim(str_replace("\n", "
", $this->data)); } /** * HTML * * @return string */ function getFORMData() { return ""; } } /** * BigText * * @link http://cms.alpha.inetra.ru * @version 1.0 * @copyright Copyright: 2003 Inetra, Inc. * @author * @access public */ class cmsBigTextType extends cmsTextType { /** * */ function cmsBigTextType() { $this->friendly_name = ' (HTML-)'; $this->prefix = 'bigtext1'; $this->data = ""; $this->mysqlName = "text"; $this->pgsqlName = "text"; $this->params = ""; } /** * . . * */ /** * * * @return string */ function getClassName() { return "cmsBigTextType"; } /** * POST * */ function getDataFromPOST() { global $_POST; $this->data = $_POST[$this->prefix]; return; } /** * SQL UPDATE * * @param string enum("mysql", "pgsql") * * @return string */ function getSQLUpdate($db_type = "mysql") { $sql = ""; switch ($db_type) { case "mysql" : $sql = $this->prefix." = '".$this->data."'"; break; case "pgsql" : $sql = $this->prefix." = '".$this->data."'"; break; default : $sql = $this->prefix." = '".$this->data."'"; break; } return $sql; } /** * SQL INSERT * * @param string enum("mysql", "pgsql") * * @return Array(2) */ function getSQLInsert($db_type = "mysql") { $sql = Array(); switch ($db_type) { case "mysql" : $sql[0] = $this->prefix; $sql[1] = "'".$this->data."'"; break; case "pgsql" : $sql[0] = $this->prefix; $sql[1] = "'".$this->data."'"; break; default : $sql[0] = $this->prefix; $sql[1] = "'".$this->data."'"; break; } return $sql; } /** * HTML . * * @return string */ function getHTMLData() { $this->data = trim(stripslashes($this->data)); return str_replace(" ", " ", $this->data); } /** * HTML * * @return string */ function getFORMData() { $_data = $this->data; $_data = str_replace("\n", "", $_data); $_data = str_replace("\r", "", $_data); $_data = addslashes($_data); return " "; } } /** * * * @link http://cms.alpha.inetra.ru * @version 1.0 * @copyright Copyright: 2003 Inetra, Inc. * @author * @access public */ class cmsFileType extends cmsStringType { var $path = ''; var $filename = ''; var $preview_image_width = 100; /** * */ function cmsFileType() { $this->friendly_name = ' ( )'; $this->prefix = 'doc1'; $this->path = ''; $this->filename = ''; $this->data = ""; $this->mysqlName = "varchar(255)"; $this->pgsqlName = "varchar(255)"; $this->params = ""; $this->preview_image_width = 100; } /** * . . * */ /** * * * @return string */ function getClassName() { return "cmsFileType"; } /** * POST * */ function getDataFromPOST() { global $HTTP_POST_FILES; $this->data = (empty($this->filename)) ? $HTTP_POST_FILES[$this->prefix]['name'] : $this->filename; if (!empty($this->path)) { $this->saveFile($this->path); } return; } /** * SQL UPDATE * * @param string enum("mysql", "pgsql") * * @return string */ function getSQLUpdate($db_type = "mysql") { $sql = ""; switch ($db_type) { case "mysql" : $sql = $this->prefix." = '".$this->data."'"; break; case "pgsql" : $sql = $this->prefix." = '".$this->data."'"; break; default : $sql = $this->prefix." = '".$this->data."'"; break; } return $sql; } /** * SQL INSERT * * @param string enum("mysql", "pgsql") * * @return Array(2) */ function getSQLInsert($db_type = "mysql") { $sql = Array(); switch ($db_type) { case "mysql" : $sql[0] = $this->prefix; $sql[1] = "'".$this->data."'"; break; case "pgsql" : $sql[0] = $this->prefix; $sql[1] = "'".$this->data."'"; break; default : $sql[0] = $this->prefix; $sql[1] = "'".$this->data."'"; break; } return $sql; } /** * POST . * * @param string * * @return string */ function saveFile($_path, $_rewrite = False) { global $HTTP_POST_FILES, $_POST; $filepath = (empty($this->filename)) ? $_path.$HTTP_POST_FILES[$this->prefix]['name'] : $_path.$this->filename; $error = ""; { if (is_uploaded_file($HTTP_POST_FILES[$this->prefix]['tmp_name'])) { $_savefile = $filepath; if (!move_uploaded_file($HTTP_POST_FILES[$this->prefix]['tmp_name'], $_savefile)) { switch ($HTTP_POST_FILES[$this->prefix]['error']) { case 0: //no error; possible file attack! $error = " "; break; case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini $error = " "; break; case 2: //uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form $error = " "; break; case 3: //uploaded file was only partially uploaded $error = " "; break; case 4: //no file was uploaded $error = " "; break; default: //a default error, just in case! :) $error = " "; break; } } else { $tmp = explode(".", $_savefile); $ext = strtolower($tmp[count($tmp)-1]); if ($ext == "jpeg") $ext = "jpg"; if (($ext == "jpg") || ($ext == "gif") || ($ext == "png") || ($ext != "bmp")) { dl("gd.so"); switch ($ext) { // case "gif": $im = ImageCreateFromGIF ($_savefile); break; case "jpg": $im = ImageCreateFromJPEG ($_savefile); break; case "png": $im = ImageCreateFromPNG ($_savefile); break; case "bmp": $im = ImageCreateFromWBMP ($_savefile); break; default : break; } if ($im && !$error) { $size = GetImageSize ($_savefile); $prop = $size[0] / $size[1]; if($prop > 1) { $otn = $this->preview_image_width / $size[0]; $preview_image_height = floor($size[1] * $otn); } else if($prop < 1) { $otn = $size[1] / $size[0]; $preview_image_height = floor($this->preview_image_width * $otn); } else $preview_image_height = $this->preview_image_width; $im_preview = ImageCreateTrueColor ($this->preview_image_width, $preview_image_height); if ($im_preview) { $_previewname = $_savefile.".preview.jpg"; imagecopyresampled ($im_preview, $im, 0, 0, 0, 0, $this->preview_image_width, $preview_image_height, $size[0], $size[1]); imagejpeg ($im_preview, $_previewname); imagedestroy ($im_preview); } imagedestroy ($im); } } } } } return $error; } /** * HTML . * * @return string */ function getHTMLData() { return Trim($this->data); } /** * HTML * * @return string */ function getFORMData() { return "
"; } } /** * Boolean * * @link http://cms.alpha.inetra.ru * @version 1.0 * @copyright Copyright: 2003 Inetra, Inc. * @author * @access public */ class cmsBooleanType extends cmsIntegerType { /** * */ function cmsBooleanType() { $this->friendly_name = ' (Y/N)'; $this->prefix = 'bool1'; $this->data = ""; $this->mysqlName = "varchar(1)"; $this->pgsqlName = "char(1)"; $this->params = ""; } /** * . . * */ /** * * * @return string */ function getClassName() { return "cmsBooleanType"; } /** * POST * */ function getDataFromPOST() { global $_POST; $this->data = (isset($_POST[$this->prefix])) ? "Y" : "N"; return; } /** * SQL UPDATE * * @param string enum("mysql", "pgsql") * * @return string */ function getSQLUpdate($db_type = "mysql") { $sql = ""; switch ($db_type) { case "mysql" : $sql = $this->prefix." = '".$this->data."'"; break; case "pgsql" : $sql = $this->prefix." = '".$this->data."'"; break; default : $sql = $this->prefix." = '".$this->data."'"; break; } return $sql; } /** * SQL INSERT * * @param string enum("mysql", "pgsql") * * @return Array(2) */ function getSQLInsert($db_type = "mysql") { $sql = Array(); switch ($db_type) { case "mysql" : $sql[0] = $this->prefix; $sql[1] = "'".$this->data."'"; break; case "pgsql" : $sql[0] = $this->prefix; $sql[1] = "'".$this->data."'"; break; default : $sql[0] = $this->prefix; $sql[1] = "'".$this->data."'"; break; } return $sql; } /** * HTML . * * @return string */ function getHTMLData() { return ($this->data == 'Y') ? "Y" : "N"; } /** * HTML * * @return string */ function getFORMData() { $checked = ($this->data == 'Y') ? "checked" : ""; return ""; } } /** * List Type (Linked object) * * @link http://cms.alpha.inetra.ru * @version 1.0 * @copyright Copyright: 2003 Inetra, Inc. * @author * @access public */ class cmsListType extends cmsIntegerType { /** * (sql_table:sql_field:sql_key:sql_filter) * * @var string */ var $params = ""; /** * */ function cmsListType() { $this->friendly_name = ' '; $this->prefix = 'list1'; $this->data = 0; $this->mysqlName = "int(11)"; $this->pgsqlName = "integer"; $this->params = ""; } /** * . . * */ /** * * * @return string */ function getClassName() { return "cmsListType"; } /** * HTML . * * @return string */ function getHTMLData() { $_params = explode(":", $this->params); if ($_params[0] && $_params[1]) // sql_table and sql_field { if (!$_params[2]) $_params[2] = "id"; if ($_params[3]) $_params[3] .= " AND "; $sql = "SELECT ".$_params[1]." FROM ".$_params[0]." WHERE $_params[3] ".$_params[2]." = ".$this->data; $val = $GLOBALS["db"]->getOne($sql); if (!DB::isError($val)) return $val; else return ""; } else return ""; } /** * HTML * * @return string */ function getFORMData() { $_params = explode(":", $this->params); if ($_params[0] && $_params[1]) // sql_table and sql_field { if (!$_params[2]) $_params[2] = "id"; if ($_params[3]) $sql = "SELECT ".$_params[1].", ".$_params[2]." FROM ".$_params[0]." WHERE $_params[3] ORDER BY ".$_params[1]." ASC"; else $sql = "SELECT ".$_params[1].", ".$_params[2]." FROM ".$_params[0]." ORDER BY ".$_params[1]." ASC"; $arr = $GLOBALS["db"]->getAll($sql, DB_FETCHMODE_ASSOC); if (!DB::isError($arr)) { $ret = ""; return $ret; } else return ""; } else return ""; } } /** * Multi-Select List Type (Linked object) * * @link http://cms.alpha.inetra.ru * @version 1.0 * @copyright Copyright: 2003 Inetra, Inc. * @author * @access public */ class cmsMultiListType extends cmsStringType { /** * */ function cmsMultiListType() { $this->friendly_name = ' ( )'; $this->prefix = 'multilist1'; $this->data = Array(); $this->mysqlName = "varchar(255)"; $this->pgsqlName = "varchar(255)"; $this->params = ""; } /** * * * @return string */ function getClassName() { return "cmsMultiListType"; } /** * HTML . * * @return string */ function getHTMLData($sql_filter = "") { $_params = explode(":", $this->params); $_data = explode(":", $this->data); $str_data = $_data[0]; for ($i = 1; $i < count($_data); $i++) { $str_data .= ",".$_data[$i]; } if ($_params[0] && $_params[1]) // sql_table and sql_field { if (!$_params[2]) $_params[2] = "id"; if ($_params[3]) $_params[3] .= " AND "; $sql = "SELECT ".$_params[1]." FROM ".$_params[0]." WHERE $_params[3] ".$_params[2]." in (".$str_data.")"; $val = $GLOBALS["db"]->getCol($sql); if (!DB::isError($val)) { for ($i = 0; $i < count($val); $i++) $str_val .= ($i+1).". ".$val[$i]."
"; return $str_val; } else return ""; } else return ""; } /** * POST * */ function getDataFromPOST() { global $_POST; if (is_array($_POST[$this->prefix])) { $this->data = join(":", $_POST[$this->prefix]); } else { $this->data = ""; } return; } /** * HTML * * @return string */ function getFORMData($sql_filter = "") { $_params = explode(":", $this->params); if ($_params[0] && $_params[1]) // sql_table and sql_field { if (!$_params[2]) $_params[2] = "id"; if ($_params[3]) $sql = "SELECT ".$_params[1].", ".$_params[2]." FROM ".$_params[0]." WHERE $_params[3] ORDER BY ".$_params[1]." ASC"; else $sql = "SELECT ".$_params[1].", ".$_params[2]." FROM ".$_params[0]." ORDER BY ".$_params[1]." ASC"; $arr = $GLOBALS["db"]->getAll($sql, DB_FETCHMODE_ASSOC); if (!DB::isError($arr)) { $ret = ""; return $ret; } else return ""; } else return ""; } } /** * Date Type * * @link http://cms.alpha.inetra.ru * @version 1.0 * @copyright Copyright: 2003 Inetra, Inc. * @author * @access public */ class cmsDateType extends cmsIntegerType { /** * */ function cmsDateType() { $this->friendly_name = ' / '; $this->prefix = 'date1'; $this->data = time(); $this->params = "d.m.Y"; $this->mysqlName = "int(11)"; $this->pgsqlName = "integer"; } /** * * * @return string */ function getClassName() { return "cmsDateType"; } /** * . * * @param string */ function setFormat($_format) { $this->params = $_format; } /** * HTML . * * @return string */ function getHTMLData() { $monthes = Array("", "", "", "", "", "", "", "", "", "", "", ""); $html = ""; if (strchr($this->params, "d") != false) $html .= date("d", $this->data); if (strchr($this->params, "m") != false) $html .= " ".$monthes[1*date("m", $this->data)-1]; if (strchr($this->params, "Y") != false) $html .= " ".date("Y", $this->data); if (strchr($this->params, "H") != false) $html .= " ".date("H", $this->data); if (strchr($this->params, "i") != false) $html .= ":".date("i", $this->data); if (strchr($this->params, "s") != false) $html .= ":".date("s", $this->data); return $html; } /** * POST * */ function getDataFromPOST() { global $_POST; $day = ($_POST[$this->prefix."_day"]) ? $_POST[$this->prefix."_day"] : 1; $month = ($_POST[$this->prefix."_month"]) ? $_POST[$this->prefix."_month"] : 1; $year = ($_POST[$this->prefix."_year"]) ? $_POST[$this->prefix."_year"] : 1970; $hour = ($_POST[$this->prefix."_hour"]) ? $_POST[$this->prefix."_hour"] : 0; $min = ($_POST[$this->prefix."_min"]) ? $_POST[$this->prefix."_min"] : 0; $sec = ($_POST[$this->prefix."_sec"]) ? $_POST[$this->prefix."_sec"] : 0; $this->data = mktime($hour, $min, $sec, $month, $day, $year); return; } /** * HTML * * @return string */ function getFORMData() { if (!$this->data) $this->data = time(); $day = 1*date("d", $this->data); $month = 1*date("m", $this->data); $year = 1*date("Y", $this->data); $hour = 1*date("H", $this->data); $min = 1*date("i", $this->data); $sec = 1*date("s", $this->data); $html = ""; if (strchr($this->params, "d") != false) { $html .= ""; } if (strchr($this->params, "m") != false) { $monthes = Array("", "", "", "", "", "", "", "", "", "", "", ""); //$monthes = Array("", "", "", "", "", "", "", "", "", "", "", ""); $html .= ""; } if (strchr($this->params, "Y") != false) { $html .= ""; } if (strchr($this->params, "H") != false) { $html .= "  : "; $html .= ""; } if (strchr($this->params, "i") != false) { $html .= "  : "; $html .= ""; } if (strchr($this->params, "s") != false) { $html .= "  : "; $html .= ""; } return $html; } /** * . * * @return string */ function get() { $dd = $this->data; if ($dd < 1) $dd = 0; $dd_day = (strchr($this->params, "d") != false) ? date("d", $dd) : 1; $dd_month = (strchr($this->params, "m") != false) ? date("m", $dd) : 1; $dd_year = (strchr($this->params, "Y") != false) ? date("Y", $dd) : 1970; $dd_hour = (strchr($this->params, "H") != false) ? date("H", $dd) : 0; $dd_min = (strchr($this->params, "i") != false) ? date("i", $dd) : 0; $dd_sec = (strchr($this->params, "s") != false) ? date("s", $dd) : 0; $this->data = mktime($dd_hour, $dd_min, $dd_sec, $dd_month, $dd_day, $dd_year); return $this->data; } /** * . * * @param Mixed */ function set($_data) { $this->data = $_data; $this->data = $this->get(); return; } /** * SQL UPDATE * * @param string enum("mysql", "pgsql") * * @return string */ function getSQLUpdate($db_type = "mysql") { $this->data = $this->get(); $sql = ""; switch ($db_type) { case "mysql" : $sql = $this->prefix." = ".$this->data; break; case "pgsql" : $sql = $this->prefix." = ".$this->data; break; default : $sql = $this->prefix." = ".$this->data; break; } return $sql; } /** * SQL INSERT * * @param string enum("mysql", "pgsql") * * @return Array(2) */ function getSQLInsert($db_type = "mysql") { $this->data = $this->get(); $sql = Array(); switch ($db_type) { case "mysql" : $sql[0] = $this->prefix; $sql[1] = $this->data; break; case "pgsql" : $sql[0] = $this->prefix; $sql[1] = $this->data; break; default : $sql[0] = $this->prefix; $sql[1] = $this->data; break; } return $sql; } } ?> * @access private */ class DB_Tree { /** * * * @var Array */ var $nodes = Array(); /** * . . * * @var Int */ var $index = 0; /** * Database connection pointer * * @var Object DB (Pear) */ var $conn = NULL; /** * * * : * 1. id int * 2. parent_id int * 3. position int ( id) * * @var String */ var $table = ""; /** * (WHERE STATEMENT FOR SELECT) * * @var String */ var $condition = ""; /** * * * @param Object DB - * @param String */ function Init($_conn, $_table) { $this->conn = $_conn; $this->table = $_table; $this->index = 0; $this->nodes = Array(); $this->condition = ""; } function _getTree($node_id, $deep, $deep_koef) { if (!$this->conn) return; if (empty($this->condition)) $sql = "SELECT * FROM ".$this->table." WHERE parent_id = ".$node_id." ORDER BY position"; else $sql = "SELECT * FROM ".$this->table." WHERE parent_id = ".$node_id." AND $this->condition ORDER BY position"; $_nodes = $GLOBALS["db"]->getAll($sql, DB_FETCHMODE_ASSOC); for ($i = 0; $i < count($_nodes); $i++) { $this->nodes[$this->index] = $_nodes[$i]; $this->nodes[$this->index]["deep"] = $deep * $deep_koef; $this->index++; $this->_getTree($_nodes[$i]["id"], $deep + 1, $deep_koef); } } /** * * * @param int $id * @param int $deep * @return mixed */ function getTree($node_id, $deep = 1, $_condition = "") { $this->nodes = Array(); $this->index = 0; $this->condition = $_condition; $this->_getTree($node_id, 0, $deep); $this->condition = ""; return $this->nodes; } /** * * * @param int $id * @return mixed */ function getNode($node_id, $_condition = "") { $sql = "SELECT * FROM ".$this->table." WHERE id = ".$node_id; if ($_condition) $sql .= " AND ".$_condition; $_node = $GLOBALS["db"]->getRow($sql, DB_FETCHMODE_ASSOC); return $_node; } /** * * * @param int $id * @return mixed */ function getParent($node_id, $_condition = "") { $sql = "SELECT parent_id FROM ".$this->table." WHERE id = ".$node_id; $_parent_id = $GLOBALS["db"]->getOne($sql); if ($_parent_id > 0) { $sql = "SELECT * FROM ".$this->table." WHERE id = ".$_parent_id; $_parent = $GLOBALS["db"]->getRow($sql, DB_FETCHMODE_ASSOC); return ($_parent["id"] > 0) ? $_parent : NULL; } return NULL; } /** * * * @param int $id * @return Array */ function getChildren($node_id, $_condition = "") { if (!$_condition) $sql = "SELECT * FROM ".$this->table." WHERE parent_id = ".$node_id." ORDER BY position"; else $sql = "SELECT * FROM ".$this->table." WHERE parent_id = ".$node_id." AND ".$_condition." ORDER BY position"; return $GLOBALS["db"]->getAll($sql, DB_FETCHMODE_ASSOC); } /** * root ( ) * * @param int $id * @return Array */ function getNodePath($node_id, $_condition = "") { $path = Array(); $sql = "SELECT * FROM ".$this->table." WHERE id = ".$node_id; if ($_condition) $sql .= " AND ".$_condition; $path[0] = $GLOBALS["db"]->getRow($sql, DB_FETCHMODE_ASSOC); $i = 0; while (true) { $sql = "SELECT * FROM ".$this->table." WHERE id = ".$path[$i]["parent_id"]; if ($_condition) $sql .= " AND ".$_condition; $nn = $GLOBALS["db"]->getRow($sql, DB_FETCHMODE_ASSOC); if ($nn["id"] > 0) { $path[++$i] = $nn; } else break; } return array_reverse($path); } /** * , * * @param int $id */ function upNode($node_id, $_condition = "") { global $GLOBALS; $sql = "SELECT * FROM ".$this->table." WHERE id = ".$node_id; if ($_condition) $sql .= " AND ".$_condition; $node = $GLOBALS["db"]->getRow($sql, DB_FETCHMODE_ASSOC); if ($_condition) $sql = "SELECT * FROM ".$this->table." WHERE $_condition AND position < ".$node["position"]." AND parent_id = ".$node["parent_id"]." ORDER BY position DESC "; else $sql = "SELECT * FROM ".$this->table." WHERE position < ".$node["position"]." AND parent_id = ".$node["parent_id"]." ORDER BY position DESC "; switch (trim(substr($GLOBALS["dsn"], 0, strpos($GLOBALS["dsn"], ":")))) { case "pgsql": $sql .= " LIMIT 1 OFFSET 0"; break; case "mysql": $sql .= " LIMIT 0, 1"; break; default: die ("Unsupported database server - ".substr($GLOBALS["dsn"], 0, strpos($GLOBALS["dsn"], ":"))); } $nextnode = $GLOBALS["db"]->getRow($sql, DB_FETCHMODE_ASSOC); if ($node["id"] && $nextnode["id"]) { $sql = "UPDATE ".$this->table." SET position = ".$node["position"]." WHERE id = ".$nextnode["id"]; $GLOBALS["db"]->query($sql); $sql = "UPDATE ".$this->table." SET position = ".$nextnode["position"]." WHERE id = ".$node["id"]; $GLOBALS["db"]->query($sql); } } /** * , * * @param int $id */ function downNode($node_id, $_condition) { $sql = "SELECT * FROM ".$this->table." WHERE id = ".$node_id; if ($_condition) $sql .= " AND ".$_condition; $node = $GLOBALS["db"]->getRow($sql, DB_FETCHMODE_ASSOC); if ($_condition) $sql = "SELECT * FROM ".$this->table." WHERE $_condition AND position > ".$node["position"]." AND parent_id = ".$node["parent_id"]." ORDER BY position ASC "; else $sql = "SELECT * FROM ".$this->table." WHERE position > ".$node["position"]." AND parent_id = ".$node["parent_id"]." ORDER BY position ASC "; switch (trim(substr($GLOBALS["dsn"], 0, strpos($GLOBALS["dsn"], ":")))) { case "pgsql": $sql .= " LIMIT 1 OFFSET 0"; break; case "mysql": $sql .= " LIMIT 0, 1"; break; default: die ("Unsupported database server - ".substr($GLOBALS["dsn"], 0, strpos($GLOBALS["dsn"], ":"))); } $nextnode = $GLOBALS["db"]->getRow($sql, DB_FETCHMODE_ASSOC); if ($node["id"] && $nextnode["id"]) { $sql = "UPDATE ".$this->table." SET position = ".$node["position"]." WHERE id = ".$nextnode["id"]; $GLOBALS["db"]->query($sql); $sql = "UPDATE ".$this->table." SET position = ".$nextnode["position"]." WHERE id = ".$node["id"]; $GLOBALS["db"]->query($sql); } } /** * * * @param int $id * @param bool $all true, , * , . */ function removeNode($node_id, $all = false) { $sql = "SELECT * FROM ".$this->table." WHERE id = ".$node_id; $node = $GLOBALS["db"]->getRow($sql, DB_FETCHMODE_ASSOC); if ($node["id"] < 1) return; if (!$all) { $sql = "DELETE FROM ".$this->table." WHERE id = ".$node["id"]; $GLOBALS["db"]->query($sql); $sql = "UPDATE ".$this->table." SET parent_id = ".$node["parent_id"]." WHERE parent_id = ".$node["id"]; $GLOBALS["db"]->query($sql); } else { $this->removeChildren($node_id); $this->removeNode($node_id, false); } } /** * * * @param int $id */ function removeChildren($node_id) { if ($node_id < 1) return; $children = $this->getChildren($node_id); for ($i = 0; $i < count($children); $i++) { $this->removeChildren($children[$i]["id"]); $this->removeNode($children[$i]["id"], false); } } } ?> Gorenje, Made with crystalized Swarovski elements - Правила -
Skip navigation

New Year attraction from Gorenje

Make magnet from crystals and win fridge Gorenje Swarovski

Правила

Как рисовать

Для рисования необходим Flash Player 9.

Если вы еще не зарегистрированы - смело приступайте к рисованию. Процесс регистрации пройдете после сохранения рисунка.


Организатор акции

Фирма "Горенье, д.д. Веленье", Словения (далее - "Организатор Акции") 22 декабря 2008 года по 12 января 2009 года на территории Российской Федерации проводит акцию "Новогоднее притяжение от Gorenje".

Для участия в Акции участники должны зарегистрироваться с указанием:

  • ФИО
  • Город
  • Адрес
  • Контактный телефон
  • E-mail

Принимать участие в Акции можно неограниченное число раз.

Принимать участие в голосовании могут все желающие. Для того, чтобы голос был засчитан, необходимо будет правильно ответить на один простой вопрос (вопросы меняются).


Круг лиц, допускаемых к участию в Акции

Граждане РФ, постоянно проживающие в РФ, достигшие 16 лет, за исключением лиц, не допускаемых к участию в Акции, как указано ниже.


Круг лиц, не допускаемых к участию в Акции

  • Сотрудники Организатора Акции.
  • Сотрудники рекламных агентств и другие юридические лица, привлекаемые к проведению Акции.
  • Физические лица, с которыми у Организатора Акции и/или Производителя заключены гражданско-правовые договоры на выполнение работ и/или оказание услуг.
  • Родственники любого из вышеуказанных лиц.

Организатор имеет право отстранить Участника от участия в акции на любом этапе проведения, если возникли подозрения, что Участник (или кто-то другой за него) в ходе акции пытается изменить результаты посредством технических, программных или других средств.

Участники, предоставившие неверную информацию, будут исключены из числа участников.


Приз

Призом является 1 холодильник с кристаллами Сваровски NRK67365SB.


Определение победителей и вручение подарков

На первом этапе конкурса путем голосования посетителей сайта определяются финалисты: 8 вариантов, набравшие наибольшее число голосов.

На втором этапе члены конкурсной комиссии, составленной из числа сотрудников Gorenje, среди финалистов определяют 1 вариант победителя (автор варианта должен проживать в РФ).

Победители будут извещены об выигрыше в Конкурсе по электронной почте по адресу, указанному при регистрации в игре в течение 3-х рабочих дней c момента определения победителя.

Отправка приза будет производиться в течение 1-ого месяца после определения победителей.

Вручение приза производится путем его отправки по почте на адрес, указанный участником.

Участники акции, регистрирующиеся на сайте, самостоятельно отвечают за последствия неверного указания своих контактных данных, в частности, фамилии, имени, отчества, почтового адреса, адреса электронной почты.

============================================ "); // ================================================================ ?>