]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - modules/ModuleBuilder/views/view.searchview.php
Release 6.5.0
[Github/sugarcrm.git] / modules / ModuleBuilder / views / view.searchview.php
1 <?php
2 if (! defined ( 'sugarEntry' ) || ! sugarEntry)
3 die ( 'Not A Valid Entry Point' ) ;
4 /*********************************************************************************
5  * SugarCRM Community Edition is a customer relationship management program developed by
6  * SugarCRM, Inc. Copyright (C) 2004-2012 SugarCRM Inc.
7  * 
8  * This program is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU Affero General Public License version 3 as published by the
10  * Free Software Foundation with the addition of the following permission added
11  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
12  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
13  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
14  * 
15  * This program is distributed in the hope that it will be useful, but WITHOUT
16  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
18  * details.
19  * 
20  * You should have received a copy of the GNU Affero General Public License along with
21  * this program; if not, see http://www.gnu.org/licenses or write to the Free
22  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
23  * 02110-1301 USA.
24  * 
25  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
26  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
27  * 
28  * The interactive user interfaces in modified source and object code versions
29  * of this program must display Appropriate Legal Notices, as required under
30  * Section 5 of the GNU Affero General Public License version 3.
31  * 
32  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
33  * these Appropriate Legal Notices must retain the display of the "Powered by
34  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
35  * technical reasons, the Appropriate Legal Notices must display the words
36  * "Powered by SugarCRM".
37  ********************************************************************************/
38
39
40
41
42
43 require_once ('modules/ModuleBuilder/views/view.listview.php') ;
44 require_once 'modules/ModuleBuilder/parsers/constants.php' ;
45
46 class ViewSearchView extends ViewListView
47 {
48         function __construct()
49         {
50                 parent::__construct();
51                 if (!empty($_REQUEST['searchlayout'])) {
52                         $this->editLayout = $_REQUEST['searchlayout'];
53                 }
54         }
55         
56         /**
57          * @see SugarView::_getModuleTitleParams()
58          */
59         protected function _getModuleTitleParams($browserTitle = false)
60         {
61             global $mod_strings;
62             
63         return array(
64            translate('LBL_MODULE_NAME','Administration'),
65            ModuleBuilderController::getModuleTitle(),
66            );
67     }
68
69         // DO NOT REMOVE - overrides parent ViewEdit preDisplay() which attempts to load a bean for a non-existent module
70         function preDisplay()
71         {
72         }
73
74         function display(
75             $preview = false
76             )
77         {
78                 $packageName = (isset ( $_REQUEST [ 'view_package' ] )) ? $_REQUEST [ 'view_package' ] : '' ;
79                 require_once 'modules/ModuleBuilder/parsers/ParserFactory.php' ;
80                 $parser = ParserFactory::getParser ( $this->editLayout , $this->editModule, $packageName ) ;
81
82                 $smarty = parent::constructSmarty ( $parser ) ;
83                 $smarty->assign ( 'action', 'searchViewSave' ) ;
84                 $smarty->assign ( 'view', $this->editLayout ) ;
85                 $smarty->assign ( 'helpName', 'searchViewEditor' ) ;
86                 $smarty->assign ( 'helpDefault', 'modify' ) ;
87
88                 if ($preview)
89                 {
90                         echo $smarty->fetch ( "modules/ModuleBuilder/tpls/Preview/listView.tpl" ) ;
91                 } else
92                 {
93                         $ajax = $this->constructAjax () ;
94                         $ajax->addSection ( 'center', translate ($this->title), $smarty->fetch ( "modules/ModuleBuilder/tpls/listView.tpl" ) ) ;
95                         echo $ajax->getJavascript () ;
96                 }
97         }
98
99         function constructAjax()
100         {
101                 require_once ('modules/ModuleBuilder/MB/AjaxCompose.php') ;
102                 $ajax = new AjaxCompose ( ) ;
103                 switch ( $this->editLayout )
104                 {
105                         default:
106                                 $searchLabel = 'LBL_' . strtoupper ( $this->editLayout) ;
107                 }
108
109         $layoutLabel = 'LBL_LAYOUTS' ;
110         $layoutView = 'layouts' ;
111
112
113                 if ($this->fromModuleBuilder)
114                 {
115                         $ajax->addCrumb ( translate ( 'LBL_MODULEBUILDER', 'ModuleBuilder' ), 'ModuleBuilder.main("mb")' ) ;
116                         $ajax->addCrumb ( $_REQUEST [ 'view_package' ], 'ModuleBuilder.getContent("module=ModuleBuilder&action=package&package=' . $_REQUEST [ 'view_package' ] . '")' ) ;
117                         $ajax->addCrumb ( $this->editModule, 'ModuleBuilder.getContent("module=ModuleBuilder&action=module&view_package=' . $_REQUEST [ 'view_package' ] . "&view_module={$this->editModule}" . '")'  ) ;
118                         $ajax->addCrumb ( translate ( $layoutLabel, 'ModuleBuilder' ), 'ModuleBuilder.getContent("module=ModuleBuilder&MB=true&action=wizard&view_module=' . $this->editModule. '&view_package=' . $_REQUEST['view_package'] . '")'  ) ;
119                         if ( $layoutLabel == 'LBL_LAYOUTS' ) $ajax->addCrumb ( translate ( 'LBL_SEARCH_FORMS', 'ModuleBuilder' ), 'ModuleBuilder.getContent("module=ModuleBuilder&MB=true&action=wizard&view=search&view_module=' .$this->editModule . '&view_package=' . $_REQUEST [ 'view_package' ] . '")'  ) ;
120                         $ajax->addCrumb ( translate ( $searchLabel, 'ModuleBuilder' ), '' ) ;
121                 } else
122                 {
123                         $ajax->addCrumb ( translate ( 'LBL_STUDIO', 'ModuleBuilder' ), 'ModuleBuilder.main("studio")' ) ;
124                         $ajax->addCrumb ( $this->translatedEditModule, 'ModuleBuilder.getContent("module=ModuleBuilder&action=wizard&view_module=' . $this->editModule . '")'  ) ;
125                         $ajax->addCrumb ( translate ( $layoutLabel, 'ModuleBuilder' ), 'ModuleBuilder.getContent("module=ModuleBuilder&action=wizard&view='.$layoutView.'&view_module=' . $this->editModule . '")'  ) ;
126                         if ( $layoutLabel == 'LBL_LAYOUTS' ) $ajax->addCrumb ( translate ( 'LBL_SEARCH_FORMS', 'ModuleBuilder' ), 'ModuleBuilder.getContent("module=ModuleBuilder&action=wizard&view=search&view_module=' .$this->editModule . '")' ) ;
127                         $ajax->addCrumb ( translate ( $searchLabel, 'ModuleBuilder' ), ''  ) ;
128                 }
129                 $this->title = $searchLabel;
130                 return $ajax ;
131         }
132 }