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


/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */

/**
 * 画像一括登録
 *
 * @package     Admin.Itemmanage.Import.Image.Result
 * @author      netnee 
 * @access      public
 */
class Admin_Itemmanage_Import_Image_Result
{
    var $title;
    var $pagename;

    var $imageimport;
    var $actionChain;

    var $exectime;

    var $result;
    var $logfile;

    /**
     * エラーチェックとデータ整形のみ
     *
     * @access  public
     */
    function execute()
    {
        $log =& LogFactory::getLog();
        $log->debug("start", "Admin_Itemmanage_Import_Image_Result");

        return 'success';
    }

    function doImport()
    {
        $time_start = $this->execTime();

        $dt = date("YmdHis");
        $this->result = $this->imageimport->doImport($dt);

        $time_end = $this->execTime();
        $this->exectime = $time_end - $time_start;

        if ($this->result["allrow"] > 0) {
            // ログ
            $logfile = IMAGE_IMPORT_DIR.'/image_import_log.txt';
            $tempfile = IMAGE_IMPORT_DIR ."/". $dt .".txt";
            if (($logfp = fopen($tempfile, "w")) !== false) {
                $str  = $this->result["allrow"]."件中".
                        $this->result["okrow"]."件、登録しました。\n";
                if ($this->result["ngrow"] > 0) {
                    $str .= $this->result["ngrow"].
                            "個のファイルが登録できませんでした。\n";
                }
                $str .= "処理にかかった時間 ".$this->getExecTime()." 秒\n\n";
                @fwrite($logfp, $str);

                foreach ($this->result["errmsg"] as $val) {
                    @fwrite($logfp, $val."\n");
                }
                @fwrite($logfp, "\n".date("更新日時：Y年m月d日 H時i分")."\n");
                fclose($logfp);
            }

            // 前回インポートのログファイルを日時付きのファイル名に変更
            $ts = filemtime($logfile);
            $newlogfile = $logfile.".". date("YmdHi", $ts);
            rename($logfile, $newlogfile);
            // 今回のログファイルのファイル名変更
            rename($tempfile, $logfile);
            //--
        }

        $this->logfile = $logfile;
        return $this->result;
    }

    function execTime()
    {
        list($usec, $sec) = explode(" ", microtime());
        return ((float)$usec + (float)$sec);
    }

    function getExecTime()
    {
        return round($this->exectime, 2);
    }
}
?>
