2 /*********************************************************************************
3 * SugarCRM Community Edition is a customer relationship management program developed by
4 * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
6 * This program is free software; you can redistribute it and/or modify it under
7 * the terms of the GNU Affero General Public License version 3 as published by the
8 * Free Software Foundation with the addition of the following permission added
9 * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10 * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
11 * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
13 * This program is distributed in the hope that it will be useful, but WITHOUT
14 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
18 * You should have received a copy of the GNU Affero General Public License along with
19 * this program; if not, see http://www.gnu.org/licenses or write to the Free
20 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
23 * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
24 * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
26 * The interactive user interfaces in modified source and object code versions
27 * of this program must display Appropriate Legal Notices, as required under
28 * Section 5 of the GNU Affero General Public License version 3.
30 * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31 * these Appropriate Legal Notices must retain the display of the "Powered by
32 * SugarCRM" logo. If the display of the logo is not reasonably feasible for
33 * technical reasons, the Appropriate Legal Notices must display the words
34 * "Powered by SugarCRM".
35 ********************************************************************************/
38 var $sections = array();
39 var $crumbs = array('Home'=>'ModuleBuilder.main("Home")',/* 'Assistant'=>'Assistant.mbAssistant.xy=Array("650, 40"); Assistant.mbAssistant.show();'*/);
40 function addSection($name, $title, $content, $action='activate'){
42 if($name == 'center'){
43 $crumb = $this->getBreadCrumb();
45 if (is_array($content)) {
46 $this->sections[$name] = array('title'=>$title,'crumb'=>$crumb, 'content'=>$content, 'action'=>$action);
48 $this->sections[$name] = array('title'=>$title,'crumb'=>$crumb, 'content'=>mb_detect_encoding($content, mb_detect_order(), true) == "UTF-8" ? $content : utf8_encode($content), 'action'=>$action);
52 function getJavascript(){
53 if(!empty($this->sections['center'])){
54 if(empty($this->sections['east']))$this->addSection('east', '', '', 'deactivate');
55 if(empty($this->sections['east2']))$this->addSection('east2', '', '', 'deactivate');
59 return $json->encode($this->sections);
62 function addCrumb($name, $action){
63 $this->crumbs[$name] = $action;
66 function getBreadCrumb(){
70 foreach($this->crumbs as $name=>$action){
72 $crumbs .= "<a onclick='$action' href='javascript:void(0)'>". getStudioIcon('home', 'home', 16, 16) . '</a>';
73 }else if($name=='Assistant'){
74 $crumbs .= "<a id='showassist' onclick='$action' href='javascript:void(0)'>". getStudioIcon('assistant', 'assistant', 16, 16) . '</a>';
77 $crumbs .= ' > ';
79 $crumbs .= ' | ';
82 $crumbs .="<span class='crumbLink'>$name</span>";
85 $crumbs .="<a href='javascript:void(0);' onclick='$action' class='crumbLink'>$name</a>";
92 if($count > 1 && $actions[$count-2] != ""){
93 $crumbs = "<a onclick='{$actions[$count-2]}' href='javascript:void(0)'>". getStudioIcon('back', 'back', 16, 16) . '</a> '. $crumbs;
95 return $crumbs . '<br><br>';
100 function echoErrorStatus($labelName=''){
101 $sections = array('failure'=>true,'failMsg'=>$labelName);
102 $json = getJSONobj();
103 echo $json->encode($sections);