Invitation.class.php 3.37 KB
<?php

/**
 *  邀请函
 */

class Facade_Invitation
{
    
    /**
     * 服务
     */
    private static $service = null;
    /**
     *
     * @return Service_Index
     */
    private static function service ()
    {
        if (! isset(self::$service))
        {
            self::$service = new Service_Invitation();
        }
        return self::$service;
    }
    
    /**
     * 新增邀请函
     * @param int $type 表格类型,1:真实申请,2:手动添加
     * @param string $category 类型大分类,media:媒体,brand:品牌厂商,master:艺人红人
     * @param int $sub 类型子分类,1:媒体/电视,2:媒体/平面,3:媒体/网络,4:品牌厂商/品牌商,5:品牌厂商/代理商,6:品牌厂商/贸易商,7:艺人红人/艺人,8:艺人红人/经纪公司,9:艺人红人/红人
     * @param string $name 名称
     * @param string $contacter 联系人
     * @param string $phone 联系电话
     * @param string $email 邮箱
     * @return bool
     */
    public static function add ($type, $category, $sub, $name, $contacter, $phone, $email)
    {
        if (!in_array($category, array_keys(Config_Admin_Var::$invitation_category)))
        {
            return false;
        }
        if (!in_array($sub, array_keys(Config_Admin_Var::$invitation_sub)))
        {
            return false;
        }
        if (($category == 'media') && !in_array($sub,array(1,2,3)))
        {
            //不对应媒体子分类
            return false;
        }else if (($category == 'brand') && !in_array($sub,array(4,5,6)))
        {
            //不对应品牌厂商子分类
            return false;
        }else if (($category == 'master') && !in_array($sub,array(7,8,9)))
        {
            //不对应艺人红人子分类
            return false;
        }
        
        if (!$type)
        {
            $type = 1;
        }
        return self::service()->add($type, $category, $sub, trim($name), trim($contacter), trim($phone), trim($email));
    }
    
    /**
     * 根据表格类型返回列表
     * @param type $type 表格类型,1:真实申请,2:手动添加
     * @return type
     */
    public static function getByType($type)
    {
        return self::service()->getByType($type);
    }
    
    /**
     * 返回申请列表
     * @return array
     */
    public static function getApplyList($offset = null, $limit = null)
    {
        return self::service()->getApplyList($offset, $limit);
    }
    
    /**
     * 返回通过列表
     * @return array
     */
    public static function getPassList($offset = null, $limit = null)
    {
        return self::service()->getPassList($offset, $limit);
    }
    
    /**
     * 控制是否显示在申请列表中
     * 
     * @param int $id
     * @param int $status 是否显示,1:显示,0:不显示
     * @return boolean
     */
    public static function showInApplyList($id, $status)
    {
        return self::service()->update($id,array(
            'show_in_apply'=>$status
        ));
    }
    
    /**
     * 控制是否显示在通过列表中
     * 
     * @param int $id
     * @param int $status 是否显示,1:显示,0:不显示
     * @return boolean
     */
    public static function showInPassList($id, $status)
    {
        return self::service()->update($id,array(
            'show_in_pass'=>$status
        ));
    }
}