ACC SHELL

Path : /srv/www/vhosts/unitedsolution/admin/class/
File Upload :
Current File : /srv/www/vhosts/unitedsolution/admin/class/novinky.php

<?php

class novinky{

    var $msg;

    function add($title,$memo,$datum,$url){

	$title = addslashes($title);
	$memo = addslashes($memo);
	$url = addslashes($url);
	$seo_url = $this->getSeoUrl($title);
	$seo_url = $this->verifySeo($seo_url);

	if(!empty($title) && !empty($memo)){

            if(!empty($datum) && !$this->isDate($datum)){//je-li spatne vylnene datum, naplni vlastnosti msg a opusti tuto funkci
                return FALSE;
            }
            elseif (empty($datum)) {//neni-li vyplnene datum
                $datum = date("Y-m-d");//napleneni promenou aktualnim datem ve spravnem formatu
            }

            $query = "INSERT INTO ".DBPREFIX."novinky (title,memo,date,url, seo_url) VALUES('$title','$memo','$datum','$url', '$seo_url')";

            if(mysql_query($query)){//pridani novinky do databaze bylo uspesne
		$this->msg = ACTUALITY_ADDED;
                return TRUE;
            }
            else{//chyba pri naplnovani databaze
                $this->msg = SQL_ERR0R;
                return FALSE;
            }
	}
	else{
            $this->msg = FORM_EMPTY;
	}
    }

    //zkontroluje spravnost formatu zadaneho data a jeho existenci
    //pokud jedna z kontrol neprojde, tak neplni privatni vlastost msg zpravou o spatnem datumu a vrati false
    //jinak vraci true
    public function isDate($datum){

        if(!ereg("^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$",$datum)){//neni-li format data zadan tak jak ho vyzaduje sql
            $this->msg = WRONG_DATE_FORMAT;
            return FALSE;
        }

        $date_array = explode("-",$datum);//rozlozi datum do pole([0]=>rok,[1]=>mesic,[2]=>den)

        if (!checkdate($date_array[1], $date_array[2], $date_array[0])){//jestlize se jedna o neeexistujici datum

            $this->msg = NO_EXIST_DATE;
            return FALSE;
        }
        return TRUE;
    }

	var $id, $title, $memo, $dat, $url;


	function select_all(){

		$query = "	SELECT id, title, url, DATE_FORMAT(date,'%d.%m.%y') AS datum
					FROM ".DBPREFIX."novinky
					ORDER BY date DESC, id DESC";

		$sent = mysql_query($query);

		while($data = mysql_fetch_array($sent)){

			$this->id[] = $data['id'];
			$this->title[] = stripslashes($data['title']);
			$this->dat[] = $data['datum'];
			$this->url[] = $data['url'];

		}

	}

	var $str_leght;

	function edit($id,$title,$memo,$datum,$url){

            $title = addslashes($title);
            $memo = addslashes($memo);

            $seo_url = $this->getSeoUrl($title);
            $seo_url = $this->verifySeo($seo_url, $id);

            if(!empty($datum) && !$this->isDate($datum)){//je-li spatne vyplnene datum, naplni vlastnosti msg a opusti tuto funkci
                return FALSE;
            }
            elseif (empty($datum)) {//neni-li vyplnene datum
                $datum = date("Y-m-d");//napleneni promenou aktualnim datem ve spravnem formatu
            }

            $query = "UPDATE ".DBPREFIX."novinky SET seo_url = '$seo_url', title = '$title', memo = '$memo', date = '$datum', url='$url' WHERE id = '$id'";

            if(mysql_query($query)){
                $this->msg = EDIT_COMPLETED;
                return TRUE;
            }
            else{
                $this->msg = mysql_error();
                return FALSE;
           }
        }


	function select_one($id){

		$query = "SELECT id, title, memo, url, date FROM ".DBPREFIX."novinky WHERE id = $id";

		$sent = mysql_query($query);

		$data = mysql_fetch_array($sent);

		$this->id = $data['id'];
		$this->title = stripslashes($data['title']);
		$this->memo = stripslashes($data['memo']);
		//$this->memo = $data['memo'];
		$this->dat = $data['date'];
                $this->url = $data['url'];
	}

	function delete($id){

		$query = "DELETE FROM ".DBPREFIX."novinky WHERE id = $id";

		if(mysql_query($query)){

			$this->msg = ACTUALITY_DELETED;

		}
		else{

			$this->msg = SQL_ERROR.mysql_error();

		}

	}

	function getSeoUrl ($url) {

  		$url = $this->cs_utf2ascii($url);
  		$url = preg_replace('~[^\\w]+~u', '-', $url);
  		$url = strtolower($url);
  		$url = preg_replace('~[^-a-z0-9]+~', '', $url);
  		$url = trim($url, "-");
  		return $url;

	}

	function cs_utf2ascii($s) {
  		static $tbl = array("\xc3\xa1"=>"a","\xc3\xa4"=>"a","\xc4\x8d"=>"c","\xc4\x8f"=>"d","\xc3\xa9"=>"e","\xc4\x9b"=>"e","\xc3\xad"=>"i","\xc4\xbe"=>"l","\xc4\xba"=>"l","\xc5\x88"=>"n","\xc3\xb3"=>"o","\xc3\xb6"=>"o","\xc5\x91"=>"o","\xc3\xb4"=>"o","\xc5\x99"=>"r","\xc5\x95"=>"r","\xc5\xa1"=>"s","\xc5\xa5"=>"t","\xc3\xba"=>"u","\xc5\xaf"=>"u","\xc3\xbc"=>"u","\xc5\xb1"=>"u","\xc3\xbd"=>"y","\xc5\xbe"=>"z","\xc3\x81"=>"A","\xc3\x84"=>"A","\xc4\x8c"=>"C","\xc4\x8e"=>"D","\xc3\x89"=>"E","\xc4\x9a"=>"E","\xc3\x8d"=>"I","\xc4\xbd"=>"L","\xc4\xb9"=>"L","\xc5\x87"=>"N","\xc3\x93"=>"O","\xc3\x96"=>"O","\xc5\x90"=>"O","\xc3\x94"=>"O","\xc5\x98"=>"R","\xc5\x94"=>"R","\xc5\xa0"=>"S","\xc5\xa4"=>"T","\xc3\x9a"=>"U","\xc5\xae"=>"U","\xc3\x9c"=>"U","\xc5\xb0"=>"U","\xc3\x9d"=>"Y","\xc5\xbd"=>"Z");
  return strtr($s, $tbl);
	}

	function verifySeo($seo_url, $id=0) {
		$bonus = "";
		if($id > 0) {
			$bonus = " AND id != '$id'";
		}

		$query = "SELECT seo_url FROM ".DBPREFIX."novinky WHERE seo_url REGEXP '^".$seo_url."[0-9]?$'" . $bonus;
		$result = mysql_query($query);
		$count = mysql_num_rows($result);

		if($count > 0) {
			$seo_url .= "-" . $count;
		}

		return $seo_url;

	}

}

?>

ACC SHELL 2018