<?php
/**
 * 商城专题模型
 *
 * @copyright
 * @link
 */
defined('InShopNC') or exit('Access Invalid!');

class web_codeModel extends Model
{

    public function __construct()
    {
        parent::__construct('web_code');
    }

    public function get_nocache($code_id)
    {
        $code_id = intval($code_id);
        if($code_id <= 0) {
            return null;
        }

        $result = $this->read_database($code_id);
        return $result['code_info'];
    }

    private function read_database($code_id)
    {
        $ret = $this->table('web_code')->where(array('code_id' => $code_id))->find();
        if (!empty($ret))
        {
            $code_type = $ret['code_type'];
            $data = $ret['code_info'];

            if($data != null)
            {
                if($code_type == 'array') {
                    $result['code_info'] = unserialize($data);
                }
                else {
                    $result['code_info'] = $data;
                }
            }
            else
            {
                if($code_type == 'array') {
                    $result['code_info'] = array();
                }
                else {
                    $result['code_info'] = '';
                }
            }
        }
        else {
            $result['code_info'] = null;
        }
        return $result;
    }

    /**
     * 根据code_id获取数据
     * @param $code_id
     *
     */
    public function get_cache($code_id)
    {
        $prefix = 'web_code_';
        $result = rcache($code_id, $prefix);

        if (!empty($result)) {
            $result = unserialize($result);
        }
        else {
            $result = $this->read_database($code_id);
            wcache($code_id, serialize($result), $prefix);
        }

        return $result['code_info'];
    }

    public function edit($code_id,$data)
    {
        $this->table('web_code')->where(array('code_id' => $code_id))->update(array('code_info' => $data));
    }
}

