AntonLV преди 13 години
родител
ревизия
c74398d70b
променени са 3 файла, в които са добавени 63 реда и са изтрити 2 реда
  1. 42 2
      modules/boonex/developer/classes/BxDevBuilderPage.php
  2. 1 0
      studio/classes/BxDolStudioBuilderPageQuery.php
  3. 20 0
      studio/inc/utils.inc.php

+ 42 - 2
modules/boonex/developer/classes/BxDevBuilderPage.php

@@ -120,7 +120,10 @@ class BxDevBuilderPage extends BxTemplStudioBuilderPage {
     protected function actionPageExport() {
     protected function actionPageExport() {
         $sContentInsert = $sContentDelete = "";
         $sContentInsert = $sContentDelete = "";
 
 
-        $aPage = $this->aPageRebuild;
+        $aPage = array();
+		$this->oDb->getPages(array('type' => 'by_object', 'value' => $this->sPage), $aPage, false);
+    	if(empty($aPage) || !is_array($aPage))
+            return array();
 
 
         $sContentInsert .= ($this->oModule->_oDb->getQueryInsert('sys_objects_page', array($aPage), "Dumping data for '" . $aPage['object'] . "' page"));
         $sContentInsert .= ($this->oModule->_oDb->getQueryInsert('sys_objects_page', array($aPage), "Dumping data for '" . $aPage['object'] . "' page"));
         $sContentDelete .= ($this->oModule->_oDb->getQueryDelete('sys_objects_page', 'object', array($aPage), "Deleting data for '" . $aPage['object'] . "' page"));
         $sContentDelete .= ($this->oModule->_oDb->getQueryDelete('sys_objects_page', 'object', array($aPage), "Deleting data for '" . $aPage['object'] . "' page"));
@@ -210,11 +213,48 @@ class BxDevBuilderPage extends BxTemplStudioBuilderPage {
                     'disable' => true
                     'disable' => true
                 )
                 )
             ),
             ),
-			'inputs' => parent::getSettingsOptions(true)
+			'inputs' => array(
+            	'object'  => array(
+					'type' => 'text',
+	                'name' => 'object',
+	                'caption' => _t('_bx_dev_bp_txt_page_object'),
+	                'info' => '',
+	                'value' => $this->aPageRebuild['object'],
+	                'required' => '',
+            		'attrs' => array(
+                        'disabled' => 'disabled'
+                    ),
+				)
+            )
         ); 
         ); 
 
 
+        $aForm['inputs'] += parent::getSettingsOptions(true);
+
         $aForm['inputs']['title_system']['type'] = 'text';
         $aForm['inputs']['title_system']['type'] = 'text';
+        $aForm['inputs']['title_system']['caption'] = _t('_bx_dev_bp_txt_page_title_system');        
         $aForm['inputs']['title']['type'] = 'text';
         $aForm['inputs']['title']['type'] = 'text';
+
+        $aUri = array(
+			'uri'  => array(
+				'type' => 'text',
+	            'name' => 'uri',
+	            'caption' => _t('_bx_dev_bp_txt_page_uri'),
+	            'info' => '',
+	            'value' => $this->aPageRebuild['uri'],
+	            'required' => '',
+        		'db' => array (
+                	'pass' => 'Xss',
+				),
+			)
+		);
+        $aForm['inputs'] = bx_array_insert_before($aUri, $aForm['inputs'], 'url');
+
+        $aForm['inputs']['url']['caption'] = _t('_bx_dev_bp_txt_page_url');
+        $aForm['inputs']['url']['db'] = array (
+			'pass' => 'Xss',
+		);
+        unset($aForm['inputs']['url']['attrs']['disabled']);
+
         $aForm['inputs']['deletable'] = array(
         $aForm['inputs']['deletable'] = array(
             'type' => 'checkbox',
             'type' => 'checkbox',
             'name' => 'deletable',
             'name' => 'deletable',

+ 1 - 0
studio/classes/BxDolStudioBuilderPageQuery.php

@@ -47,6 +47,7 @@ class BxDolStudioBuilderPageQuery extends BxDolStudioPageQuery {
         $aMethod['params'][0] = "SELECT " . ($bReturnCount ? "SQL_CALC_FOUND_ROWS" : "") . "
         $aMethod['params'][0] = "SELECT " . ($bReturnCount ? "SQL_CALC_FOUND_ROWS" : "") . "
                 `tp`.`id` AS `id`,
                 `tp`.`id` AS `id`,
                 `tp`.`object` AS `object`,
                 `tp`.`object` AS `object`,
+                `tp`.`uri` AS `uri`,
                 `tp`.`title_system` AS `title_system`,
                 `tp`.`title_system` AS `title_system`,
                 `tp`.`title` AS `title`,
                 `tp`.`title` AS `title`,
                 `tp`.`module` AS `module`,
                 `tp`.`module` AS `module`,

+ 20 - 0
studio/inc/utils.inc.php

@@ -14,4 +14,24 @@ defined('BX_DOL') or die('hack attempt');
 function generateSid() {
 function generateSid() {
 	return md5(BX_DOL_URL_ROOT . '_' . BX_DOL_VERSION . '.' . BX_DOL_BUILD);
 	return md5(BX_DOL_URL_ROOT . '_' . BX_DOL_VERSION . '.' . BX_DOL_BUILD);
 }
 }
+
+function bx_array_insert_before($aInsert, $aSource, $sKey) {
+	return bx_array_insert($aInsert, $aSource, $sKey, 0);
+}
+
+function bx_array_insert_after($aInsert, $aSource, $sKey) {
+	return bx_array_insert($aInsert, $aSource, $sKey, 1);
+}
+
+function bx_array_insert($aInsert, $aSource, $sKey, $iDirection = 1) {
+	$iPosition = array_search($sKey, array_keys($aSource)) + $iDirection;
+
+	if($iPosition == 0)
+		return $aInsert + $aSource;
+
+	if($iPosition == count($aSource))
+		return $aSource + $aInsert;
+
+	return array_slice($aSource, 0, $iPosition, true) + $aInsert + array_slice($aSource, $iPosition, NULL, true); 
+}
 /** @} */
 /** @} */