<?php
/**
 * @copyright ONE/DEPO Project
 * @license   PHP License 3.01 <http://www.php.net/license/3_01.txt>
 */


/**
 * ダウンロード商品テーブル関連
 *
 * @package     Onedepo.Db.Itemdownload
 * @author      netnee Watanabe <hiroshi.watanabe@netnee.jp>
 * @access      public
 */
class Onedepo_Db_Itemdownload
{
    var $dbaccess;

    /**
     * 主キーからレコード取得
     *
     * @param       $itemcd    商品コード
     *              $structcd  構成コード
     *
     * @return      取得したレコードを返却
     *
     * @author      netnee Watanabe <hiroshi.watanabe@netnee.jp>
     * @access      public
     */
    function select($itemcd, $structcd) {
        $log =& LogFactory::getLog();
        $func_name = "Onedepo_Db_Itemdownload#select";

        $db = $this->dbaccess->doConnect();
        $db->setFetchMode(DB_FETCHMODE_ASSOC);
        
        $params = array($itemcd, $structcd);
        
        $sql  = "SELECT itemcd, structcd, fileexistence, dlcount, dlperioddays, comment, updcnt";
        $sql .= " FROM t_dl_item";
        $sql .= " WHERE delflg=false AND itemcd=? AND structcd=?;";
        
        $data = $db->getRow($sql, $params);
        $this->dbaccess->doClose($db);

        return $data;
    }
    
     /**
     * レコード更新
     *
     * @param       $itemcd    商品コード
     *              $structcd  構成コード
     *              $existence ファイル有無フラグ
     *              $dlcount   ダウンロード回数
     *              $dlperioddays  ダウンロード期間（日数）
     *              $comment  コメント
     *              $updcnt    更新カウンタ
     *
     * @return      成功:true  失敗:エラーメッセージ
     *
     * @author      netnee Watanabe <hiroshi.watanabe@netnee.jp>
     * @access      public
     */
    function update($itemcd, $structcd, $existence, $dlcount, $dlperioddays, $comment, $updcnt) {
        $log =& LogFactory::getLog();
        $func_name = "Onedepo_Db_Itemdownload#update";
        
        // 更新ユーザ
        $adminauth =& AdminAuthext::getInstance();
        $upduser = $adminauth->getAuthData("membernm");
        $log->debug("membernm", $upduser);
        //--
        
        $db = $this->dbaccess->doConnect();
        $db->setFetchMode(DB_FETCHMODE_ASSOC);
        
        $params = array($itemcd, $structcd, $existence, $dlcount, $dlperioddays, $comment, 
            $upduser, $_SERVER['REMOTE_ADDR'], $updcnt);
        
        $sql  = "SELECT * FROM f_dl_item_update(2,?,?,?,?,?,?,?,?,?);";
        
        $data = $db->getRow($sql, $params);
        
        $this->dbaccess->doClose($db);
        
        if (DB::isError($data)) {
            $log->error($data->userinfo, $func_name);
            return "DBエラー";
        }
        if($data[errcd]==1) {
            return true;
        }
        return $data[errmsg];
    }
}
?>
