فهرست منبع

#42 - messages module (fixing ajax action in grid)

Alex Trofimov 12 سال پیش
والد
کامیت
e7dab33a66
3فایلهای تغییر یافته به همراه20 افزوده شده و 21 حذف شده
  1. 10 0
      modules/boonex/messages/classes/BxMsgGrid.php
  2. 9 20
      template/scripts/BxBaseGrid.php
  3. 1 1
      template/scripts/BxBasePageAccount.php

+ 10 - 0
modules/boonex/messages/classes/BxMsgGrid.php

@@ -20,10 +20,17 @@ class BxMsgGrid extends BxTemplGrid
         self::$MODULE = 'bx_messages';
         parent::__construct ($aOptions, $oTemplate);
         $this->_sDefaultSortingOrder = 'DESC';
+
+        if ($iFolderId = (int)bx_get('folder_id'))
+            $this->addMarkers(array(
+                'folder_id' => $iFolderId,
+                'profile_id' => bx_get_logged_profile_id(),
+            ));
     }
 
     public function performActionCompose() 
     {
+        bx_import('BxDolModule');
         $oModule = BxDolModule::getInstance(self::$MODULE);
         $CNF = &$oModule->_oConfig->CNF;
 
@@ -35,6 +42,7 @@ class BxMsgGrid extends BxTemplGrid
 
     protected function _getActionAdd ($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = array()) 
     {
+        bx_import('BxDolModule');
         $oModule = BxDolModule::getInstance(self::$MODULE);
         $CNF = &$oModule->_oConfig->CNF;
 
@@ -49,6 +57,7 @@ class BxMsgGrid extends BxTemplGrid
 
     protected function _getCellPreview ($mixedValue, $sKey, $aField, $aRow) 
     {
+        bx_import('BxDolModule');
         $oModule = BxDolModule::getInstance(self::$MODULE);
         $CNF = &$oModule->_oConfig->CNF;
 
@@ -72,6 +81,7 @@ class BxMsgGrid extends BxTemplGrid
 
     protected function _getCellCollaborators ($mixedValue, $sKey, $aField, $aRow)
     {
+        bx_import('BxDolModule');
         $oModule = BxDolModule::getInstance(self::$MODULE);
         $s = $oModule->_oTemplate->entryCollaborators ($aRow);
         return parent::_getCellDefault ($s, $sKey, $aField, $aRow);

+ 9 - 20
template/scripts/BxBaseGrid.php

@@ -168,25 +168,17 @@ class BxBaseGrid extends BxDolGrid {
         }
 
         $sPopupOptions = '{}';
-        if (!empty($this->_aPopupOptions) && is_array($this->_aPopupOptions)) {
-            require_once(BX_DIRECTORY_PATH_PLUGINS . 'Services_JSON.php');
-            $oParser = new Services_JSON();
-            $sPopupOptions = $oParser->encode($this->_aPopupOptions);
-        }
+        if (!empty($this->_aPopupOptions) && is_array($this->_aPopupOptions))
+            $sPopupOptions = json_encode($this->_aPopupOptions);
 
+        $aQueryAppend = array_merge(is_array($this->_aQueryAppend) ? $this->_aQueryAppend : array(), is_array($this->_aMarkers) ? $this->_aMarkers : array());
         $sQueryAppend = '{}';
-        if (!empty($this->_aQueryAppend) && is_array($this->_aQueryAppend)) {
-            require_once(BX_DIRECTORY_PATH_PLUGINS . 'Services_JSON.php');
-            $oParser = new Services_JSON();
-            $sQueryAppend = $oParser->encode($this->_aQueryAppend);
-        }
+        if (!empty($aQueryAppend) && is_array($aQueryAppend))
+            $sQueryAppend = json_encode($aQueryAppend);
 
         $sConfirmMessages = '{}';
-        if (!empty($this->_aConfirmMessages) && is_array($this->_aConfirmMessages)) {
-            require_once(BX_DIRECTORY_PATH_PLUGINS . 'Services_JSON.php');
-            $oParser = new Services_JSON();
-            $sConfirmMessages = $oParser->encode($this->_aConfirmMessages);
-        }
+        if (!empty($this->_aConfirmMessages) && is_array($this->_aConfirmMessages))
+            $sConfirmMessages = json_encode($this->_aConfirmMessages);
 
         $aVars = array (
             'object' => $this->_sObject,
@@ -600,12 +592,9 @@ class BxBaseGrid extends BxDolGrid {
 
     protected function _echoResultJson($a, $isAutoWrapForFormFileSubmit = false) {
 
-        header('Content-type: text/html; charset=utf-8');    
-
-        require_once(BX_DIRECTORY_PATH_PLUGINS . 'Services_JSON.php');
+        header('Content-type: text/html; charset=utf-8');
 
-        $oParser = new Services_JSON();
-        $s = $oParser->encode($a);
+        $s = json_encode($a);
         if ($isAutoWrapForFormFileSubmit && !empty($_FILES)) 
             $s = '<textarea>' . $s . '</textarea>'; // http://jquery.malsup.com/form/#file-upload
         echo $s;

+ 1 - 1
template/scripts/BxBasePageAccount.php

@@ -59,7 +59,7 @@ class BxBasePageAccount extends BxTemplPage {
             } 
 
             if ($oInformer)
-                $oInformer->add('sys-account-profile-context-change-result', $sInformerMsg ? $sInformerMsg : _t('_Error occured'), $sInformerMsg ? BX_INFORMER_INFO : BX_INFORMER_ERROR);
+                $oInformer->add('sys-account-profile-context-change-result', $sInformerMsg ? $sInformerMsg : _t('_error occured'), $sInformerMsg ? BX_INFORMER_INFO : BX_INFORMER_ERROR);
         }
 
     }