| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 | 
							- <?php
 
- /**
 
-  * FecShop file.
 
-  * @link http://www.fecshop.com/
 
-  * @copyright Copyright (c) 2016 FecShop Software LLC
 
-  * @license http://www.fecshop.com/license/
 
-  */
 
- namespace fecshop\components;
 
- use Yii;
 
- use yii\base\BootstrapInterface;
 
- use yii\base\Component;
 
- /**
 
-  * @author Terry Zhao <2358269014@qq.com>
 
-  * @since 1.0
 
-  */
 
- class ServiceLog extends Component
 
- {
 
-     public $log_config;
 
-     protected $_serviceContent;
 
-     protected $_serviceUid;
 
-     protected $_isServiceLog;
 
-     protected $_isServiceLogDbPrint;
 
-     protected $_isServiceLogHtmlPrint;
 
-     protected $_isServiceLogDbPrintByParam;
 
-     
 
-     protected $_logModelName = '\fecshop\models\mongodb\FecshopServiceLog';
 
-     protected $_logModel;
 
-     
 
-     //public function init(){
 
-     //    parent::init();
 
-     //    
 
-     //}
 
-     /**
 
-      * Log:get log uuid .
 
-      */
 
-     public function getLogUid()
 
-     {
 
-         if (!$this->_serviceUid) {
 
-             $this->_serviceUid = $this->guid();
 
-         }
 
-         return $this->_serviceUid;
 
-     }
 
-     /**
 
-      * ServiceLog:是否开启service log.
 
-      */
 
-     public function isServiceLogEnable()
 
-     {
 
-         if ($this->_isServiceLog === null) {
 
-             if (
 
-                 isset($this->log_config['services']['enable'])
 
-             && $this->log_config['services']['enable']
 
-             ) {
 
-                 $this->_isServiceLog = true;
 
-             } else {
 
-                 $this->_isServiceLog = false;
 
-             }
 
-         }
 
-         return $this->_isServiceLog;
 
-     }
 
-     
 
-     public $serviceLogHtmlPrintStr;
 
-     
 
-     
 
-     public function initServiceLogDbPrint()
 
-     {
 
-         if (!$this->_logModel) {
 
-             list($this->_logModelName,$this->_logModel) = Yii::mapGet($this->_logModelName);  
 
-         }
 
-     }
 
-     /**
 
-      * ServiceLog:保存serviceLog.
 
-      */
 
-     public function printServiceLog($log_info)
 
-     {
 
-         if ($this->isServiceLogDbPrint()) {
 
-             $this->initServiceLogDbPrint();
 
-             $this->_logModel->getCollection()->save($log_info);
 
-         }
 
-         if ($this->isServiceLogHtmlPrint() || $this->isServiceLogDbPrintByParam()) {
 
-             $str = '<br>#################################<br><table>';
 
-             foreach ($log_info as $k=>$v) {
 
-                 if (is_array($v)) {
 
-                     $v = implode('<br>', $v);
 
-                     $str .= "<tr>
 
- 					<td>$k</td><td>$v</td>
 
- 					</tr>";
 
-                 } else {
 
-                     $str .= "<tr>
 
- 					<td>$k</td><td>$v</td>
 
- 					</tr>";
 
-                 }
 
-             }
 
-             $str .= '</table><br>#################################<br><br>';
 
-             $this->serviceLogHtmlPrintStr .= $str;
 
-         }
 
-     }
 
-     // 直接在前端打印service Log
 
-     public function getServiceLogHtmlPrintStr(){
 
-         if ($this->isServiceLogEnable()) {
 
-             return $this->serviceLogHtmlPrintStr;
 
-         } else {
 
-             return '';
 
-         }
 
-     }
 
-     /**
 
-      * ServiceLog:if service log db print is enable.
 
-      */
 
-     protected function isServiceLogDbPrint()
 
-     {
 
-         if ($this->_isServiceLogDbPrint === null) {
 
-             if (
 
-                 isset($this->log_config['services']['enable'])
 
-             && $this->log_config['services']['enable']
 
-             && isset($this->log_config['services']['dbprint'])
 
-             && $this->log_config['services']['dbprint']
 
-             ) {
 
-                 $this->_isServiceLogDbPrint = true;
 
-             } else {
 
-                 $this->_isServiceLogDbPrint = false;
 
-             }
 
-         }
 
-         return $this->_isServiceLogDbPrint;
 
-     }
 
-     /**
 
-      * ServiceLog:在前台打印servicelog是否开启.
 
-      */
 
-     protected function isServiceLogHtmlPrint()
 
-     {
 
-         if ($this->_isServiceLogHtmlPrint === null) {
 
-             if (
 
-                 isset($this->log_config['services']['enable'])
 
-             && $this->log_config['services']['enable']
 
-             && isset($this->log_config['services']['htmlprint'])
 
-             && $this->log_config['services']['htmlprint']
 
-             ) {
 
-                 $this->_isServiceLogHtmlPrint = true;
 
-             } else {
 
-                 $this->_isServiceLogHtmlPrint = false;
 
-             }
 
-         }
 
-         return $this->_isServiceLogHtmlPrint;
 
-     }
 
-     /**
 
-      * ServiceLog:通过参数,在前台打印servicelog是否开启.
 
-      */
 
-     protected function isServiceLogDbPrintByParam()
 
-     {
 
-         if ($this->_isServiceLogDbPrintByParam === null) {
 
-             $this->_isServiceLogDbPrintByParam = false;
 
-             if (
 
-                 isset($this->log_config['services']['enable'])
 
-             &&  $this->log_config['services']['enable']
 
-             &&  isset($this->log_config['services']['htmlprintbyparam']['enable'])
 
-             &&  $this->log_config['services']['htmlprintbyparam']['enable']
 
-             &&  isset($this->log_config['services']['htmlprintbyparam']['paramVal'])
 
-             && ($paramVal = $this->log_config['services']['htmlprintbyparam']['paramVal'])
 
-             &&  isset($this->log_config['services']['htmlprintbyparam']['paramKey'])
 
-             && ($paramKey = $this->log_config['services']['htmlprintbyparam']['paramKey'])
 
-             ) {
 
-                 if (Yii::$app->request->get($paramKey) == $paramVal) {
 
-                     $this->_isServiceLogDbPrintByParam = true;
 
-                 }
 
-             }
 
-         }
 
-         return $this->_isServiceLogDbPrintByParam;
 
-     }
 
-     /**
 
-      * generate  uuid .
 
-      */
 
-     protected function guid()
 
-     {
 
-         if (function_exists('com_create_guid')) {
 
-             return com_create_guid();
 
-         } else {
 
-             mt_srand((float) microtime() * 10000); //optional for php 4.2.0 and up.
 
-             $charid = strtoupper(md5(uniqid(rand(), true)));
 
-             $hyphen = chr(45); // "-"
 
-             $uuid = //chr(123)// "{"
 
-                  substr($charid, 0, 8).$hyphen
 
-                 .substr($charid, 8, 4).$hyphen
 
-                 .substr($charid, 12, 4).$hyphen
 
-                 .substr($charid, 16, 4).$hyphen
 
-                 .substr($charid, 20, 12)
 
-                 //.chr(125)// "}"
 
-                 ;
 
-             return $uuid;
 
-         }
 
-     }
 
- }
 
 
  |