예제 #1
0
 /**
  * _displayHeader() method add to header JS and CSS
  *
  * @return array
  */
 private function _displayHeader()
 {
     // set
     $aAssign = array();
     // set js msg translation
     BT_FPCModuleTools::translateJsMsg();
     $aAssign['oJsTranslatedMsg'] = BT_FPCModuleTools::jsonEncode($GLOBALS[_FPC_MODULE_NAME . '_JS_MSG']);
     // old version
     if (version_compare(_PS_VERSION_, '1.4.1', '<')) {
         $aAssign['bAddJsCss'] = true;
     } else {
         // use case - get context
         if (version_compare(_PS_VERSION_, '1.5', '>')) {
             // add in minify process by prestahsop
             Context::getContext()->controller->addCSS(_FPC_URL_CSS . 'hook.css');
             Context::getContext()->controller->addJS(_FPC_URL_JS . 'module.js');
             if (Tools::getValue('controller') == 'myaccount') {
                 // get fancybox plugin
                 $aJsCss = Media::getJqueryPluginPath('fancybox');
                 // add fancybox plugin
                 if (!empty($aJsCss['js']) && !empty($aJsCss['css'])) {
                     Context::getContext()->controller->addCSS($aJsCss['css']);
                     Context::getContext()->controller->addJS($aJsCss['js']);
                 }
             }
         } else {
             // add in minify process by prestahsop
             Tools::addCSS(_FPC_URL_CSS . 'hook.css');
             Tools::addJS(_FPC_URL_JS . 'module.js');
             // add fancybox plugin
             Tools::addCSS(_PS_CSS_DIR_ . 'jquery.fancybox-1.3.4.css');
             Tools::addJS(_PS_JS_DIR_ . 'jquery/jquery.fancybox-1.3.4.js');
         }
         $aAssign['bAddJsCss'] = false;
     }
     return array('tpl' => _FPC_TPL_HEADER, 'assign' => $aAssign);
 }
예제 #2
0
 /**
  * getContent() method manages all data in Back Office
  *
  * @return string
  */
 public function getContent()
 {
     require_once _FPC_PATH_CONF . 'admin.conf.php';
     require_once _FPC_PATH_LIB_ADMIN . 'admin-ctrl_class.php';
     // set
     $aUpdateModule = array();
     try {
         // update new module keys
         BT_FPCModuleTools::updateConfiguration();
         // get configuration options
         BT_FPCModuleTools::getConfiguration();
         // set js msg translation
         BT_FPCModuleTools::translateJsMsg();
         // instantiate admin controller object
         $oAdmin = new BT_AdminCtrl();
         // defines type to execute
         // use case : no key sAction sent in POST mode (no form has been posted => first page is displayed with admin-display.class.php)
         // use case : key sAction sent in POST mode (form or ajax query posted ).
         $sAction = !Tools::getIsset('sAction') || Tools::getIsset('sAction') && 'display' == Tools::getValue('sAction') ? Tools::getIsset('sAction') ? Tools::getValue('sAction') : 'display' : Tools::getValue('sAction');
         // make module update only in case of display general admin page
         if ($sAction == 'display' && !Tools::getIsset('sType')) {
             // update module if necessary
             $aUpdateModule = $this->_updateModule();
         }
         //execute good action in admin
         // only displayed with key : tpl and assign in order to display good smarty template
         $aDisplay = $oAdmin->run($sAction, array_merge($_GET, $_POST));
         // free memory
         unset($oAdmin);
         if (!empty($aDisplay)) {
             $aDisplay['assign'] = array_merge($aDisplay['assign'], array('aUpdateErrors' => $aUpdateModule, 'oJsTranslatedMsg' => BT_FPCModuleTools::jsonEncode($GLOBALS[_FPC_MODULE_NAME . '_JS_MSG']), 'bAddJsCss' => true));
             // get content
             $sContent = $this->displayModule($aDisplay['tpl'], $aDisplay['assign']);
             if (!empty(self::$sQueryMode)) {
                 echo $sContent;
             } else {
                 return $sContent;
             }
         } else {
             throw new Exception('action returns empty content', 110);
         }
     } catch (Exception $e) {
         $this->aErrors[] = array('msg' => $e->getMessage(), 'code' => $e->getCode());
         // get content
         $sContent = $this->displayErrorModule();
         if (!empty(self::$sQueryMode)) {
             echo $sContent;
         } else {
             return $sContent;
         }
     }
     // exit clean with XHR mode
     if (!empty(self::$sQueryMode)) {
         exit(0);
     }
 }
예제 #3
0
 /**
  * _collect() method
  *
  * @category hook collection
  * @uses
  *
  * @param array $aParams
  * @return array
  */
 private function _collect($sType, array $aParams)
 {
     $aAssign = array();
     // ci = customer ID
     // si = customer social ID
     // ca = connector action : ex like or want
     // ct = connector type : ex product or category
     // oi = object ID : ex product ID or category ID (base64 encoded)
     // test if params are valid
     if ((!empty($aParams['ci']) && md5('collect' . FacebookPsConnect::$oCookie->id_customer) == $aParams['ci'] || !empty($aParams['si'])) && !empty($aParams['ca']) && !empty($aParams['ct']) && !empty($aParams['oi'])) {
         // need to be decoded
         if (!empty($aParams['ci'])) {
             $aParams['ci'] = FacebookPsConnect::$oCookie->id_customer;
             $aParams['oi'] = base64_decode($aParams['oi']);
         }
         if (!empty($aParams['si']) && !empty($aParams['ci'])) {
             $aParams['si'] = base64_decode($aParams['si']);
         }
         $aParams['ca'] = base64_decode($aParams['ca']);
         $aParams['ct'] = base64_decode($aParams['ct']);
         // include
         require_once _FPC_PATH_LIB . 'module-dao_class.php';
         if (!BT_FPCModuleDao::existSocialData(FacebookPsConnect::$iShopId, $aParams['ci'], $aParams['si'], $sType, $aParams['ca'], $aParams['ct'], $aParams['oi'])) {
             // register social data
             $bAdd = BT_FPCModuleDao::collectSocialData($aParams['ci'], $aParams['si'], FacebookPsConnect::$iShopId, $sType, $aParams['ca'], $aParams['ct'], $aParams['oi']);
         } else {
             $bAdd = false;
         }
         $aAssign['sResponse'] = BT_FPCModuleTools::jsonEncode(array('status' => $bAdd));
     }
     return array('tpl' => _FPC_TPL_HOOK_PATH . _FPC_TPL_COllECTOR_RESPONSE, 'assign' => $aAssign);
 }