Browse Source

Studio: Fix for view page of non-existent module.

AntonLV 1 year ago
parent
commit
a4bc53eae5

+ 3 - 1
studio/classes/BxDolStudioModule.php

@@ -42,7 +42,9 @@ class BxDolStudioModule extends BxTemplStudioWidget
         if(is_string($sPage) && !empty($sPage))
         if(is_string($sPage) && !empty($sPage))
             $this->sPage = $sPage;
             $this->sPage = $sPage;
 
 
-        $this->sManageUrl = BX_DOL_URL_STUDIO . 'module.php?name=' . $this->aPage['name'];
+        $this->sManageUrl = '';
+        if($this->bPage)
+            $this->sManageUrl = BX_DOL_URL_STUDIO . 'module.php?name=' . $this->aPage['name'];
     }
     }
 
 
     public static function getObjectInstance($mixedPageName, $sPage = "", $bInit = true)
     public static function getObjectInstance($mixedPageName, $sPage = "", $bInit = true)

+ 5 - 1
studio/classes/BxDolStudioPage.php

@@ -18,6 +18,7 @@ class BxDolStudioPage extends BxDol
     protected $oDb;
     protected $oDb;
 
 
     protected $aPage;
     protected $aPage;
+    protected $bPage;
     protected $bPageMultiple;
     protected $bPageMultiple;
     protected $sPageUrl;
     protected $sPageUrl;
     protected $sPageSelected;
     protected $sPageSelected;
@@ -46,7 +47,8 @@ class BxDolStudioPage extends BxDol
 
 
         $this->oDb = BxDolStudioPageQuery::getInstance();
         $this->oDb = BxDolStudioPageQuery::getInstance();
 
 
-        $this->aPage = array();
+        $this->aPage = [];
+        $this->bPage = false;
         $this->bPageMultiple = false;
         $this->bPageMultiple = false;
         $this->sPageSelected = '';       
         $this->sPageSelected = '';       
 
 
@@ -88,6 +90,8 @@ class BxDolStudioPage extends BxDol
                 $this->aPage[$aPage['name']] = $aPage;
                 $this->aPage[$aPage['name']] = $aPage;
             }
             }
         }
         }
+
+        $this->bPage = true;
     }
     }
 
 
     public function getDb()
     public function getDb()

+ 4 - 6
studio/classes/BxDolStudioTemplate.php

@@ -166,14 +166,12 @@ class BxDolStudioTemplate extends BxDolTemplate implements iBxDolSingleton
         return $this->parseHtmlByName('breadcrumb.html', array('bx_repeat:items' => $aItems));
         return $this->parseHtmlByName('breadcrumb.html', array('bx_repeat:items' => $aItems));
     }
     }
 
 
-    function displayMsg ($s, $bTranslate = false, $iPage = BX_PAGE_DEFAULT, $iDesignBox = BX_DB_PADDING_DEF)
+    function displayMsg ($s, $bTranslate = false, $iPage = BX_PAGE_DEFAULT, $iDesignBox = BX_DB_CONTENT_ONLY)
     {
     {
         $sTitle = $bTranslate ? _t($s) : $s;
         $sTitle = $bTranslate ? _t($s) : $s;
-
-        $sContent = MsgBox($sTitle);
-        $sContent = $this->parseHtmlByName('page_not_found.html', array (
-            'content' => $sContent
-        ));
+        $sContent = $this->parseHtmlByName('page_not_found.html', [
+            'content' => DesignBoxContent('', MsgBox($sTitle), $iDesignBox)
+        ]);
 
 
         $this->setPageNameIndex($iPage);
         $this->setPageNameIndex($iPage);
         $this->setPageHeader($sTitle);
         $this->setPageHeader($sTitle);

+ 3 - 0
studio/classes/BxDolStudioWidget.php

@@ -25,6 +25,9 @@ class BxDolStudioWidget extends BxTemplStudioPage
 
 
         $this->aActions = array();
         $this->aActions = array();
 
 
+        if(!$this->bPage)
+            return;
+
         if(!$this->bPageMultiple) {
         if(!$this->bPageMultiple) {
             $this->sPageRssHelpId = $this->aPage['name'];
             $this->sPageRssHelpId = $this->aPage['name'];
 
 

+ 1 - 1
studio/module.php

@@ -35,7 +35,7 @@ $oTemplate = BxDolStudioTemplate::getInstance();
 
 
 $sPageCode = $oPage->getPageCode();
 $sPageCode = $oPage->getPageCode();
 if($sPageCode === false)
 if($sPageCode === false)
-    $oTemplate->displayMsg(($sError = $oPage->getError(false)) !== false ? $sError : '_sys_txt_error_occured', true);
+    $oTemplate->displayMsg(($sError = $oPage->getError(false)) !== false ? $sError : '_sys_txt_error_occured', true, BX_PAGE_DEFAULT, BX_DB_PADDING_NO_CAPTION);
 
 
 $oTemplate->setPageNameIndex($oPage->getPageIndex());
 $oTemplate->setPageNameIndex($oPage->getPageIndex());
 $oTemplate->setPageHeader($oPage->getPageHeader());
 $oTemplate->setPageHeader($oPage->getPageHeader());