parserItems.php 1.76 KB
<?php
class parserItems extends \Phalcon\Mvc\Model
{

    public $item_users_id;
    public $item_name;
    public $price;
    public $section_id;
    public $status;
    public $url;

    public function getSource()
    {
        return "parser_items";
    }
    public function initialize()
    {
        $this->hasOne("section_id", "parserSections", "id");
        $this->hasMany("id", "parserCompetitorsItems", "item_id");
    }

    static  function checkSection($project_id,$sec_id, $row_id){
        return self::findFirst("url = '".$row_id."' AND section_id =".$sec_id." AND project_id =".$project_id);
    }

    static function checkCopy($project_id, $item_name, $item_id, $price)
    {

        $conditions = "item_name = :item_name: AND project_id = :project_id:";

        $parameters = array(
            "item_name" => mb_strtolower($item_name, "UTF-8"),
            "project_id" => $project_id
        );

        $rows = self::find([
            $conditions,
            "bind" => $parameters
        ]);



        foreach($rows as $row ) {

            if($row->price == $price) {
                if($item_id == $row->item_users_id){
                    return true;
                }
                foreach($row->parserCompetitorsItems as $item){
                    //$item->delete();
                }
                $row->delete();
                return false;
            } else {
                return false;
            }
        }
        return true;
    }

    public function updateStatus($project_id, $modelsManager){

        $sql = "UPDATE parserItems SET status = 0 WHERE project_id = ". $project_id;
        return $modelsManager->executeQuery($sql);
    }
    public function DeleteNonActive($modelsManager){
        self::find("status = 0")->delete();
    }
}