Overview

Packages

  • application
    • commands
    • components
      • actions
      • filters
      • leftWidget
      • permissions
      • sortableWidget
      • util
      • webupdater
      • x2flow
        • actions
        • triggers
      • X2GridView
      • X2Settings
    • controllers
    • models
      • embedded
    • modules
      • accounts
        • controllers
        • models
      • actions
        • controllers
        • models
      • calendar
        • controllers
        • models
      • charts
        • models
      • contacts
        • controllers
        • models
      • docs
        • components
        • controllers
        • models
      • groups
        • controllers
        • models
      • marketing
        • components
        • controllers
        • models
      • media
        • controllers
        • models
      • mobile
        • components
      • opportunities
        • controllers
        • models
      • products
        • controllers
        • models
      • quotes
        • controllers
        • models
      • services
        • controllers
        • models
      • template
        • models
      • users
        • controllers
        • models
      • workflow
        • controllers
        • models
      • x2Leads
        • controllers
        • models
  • None
  • system
    • base
    • caching
    • console
    • db
      • ar
      • schema
    • validators
    • web
      • actions
      • auth
      • helpers
      • widgets
        • captcha
        • pagers
  • zii
    • widgets
      • grid

Classes

  • AccountsGridViewProfileWidget
  • ActionMenu
  • ActionsGridViewProfileWidget
  • ActionsQuickCreateRelationshipBehavior
  • ActiveDateRangeInput
  • ApplicationConfigBehavior
  • Attachments
  • ChatBox
  • CommonControllerBehavior
  • ContactMapInlineTags
  • ContactsGridViewProfileWidget
  • CronForm
  • CSaveRelationsBehavior
  • DateRangeInputsWidget
  • DocsGridViewProfileWidget
  • DocViewer
  • DocViewerProfileWidget
  • EButtonColumnWithClearFilters
  • EmailDeliveryBehavior
  • EmailProgressControl
  • EncryptedFieldsBehavior
  • EventsChartProfileWidget
  • FileUploader
  • FontPickerInput
  • Formatter
  • FormView
  • GridViewWidget
  • History
  • IframeWidget
  • ImportExportBehavior
  • InlineActionForm
  • InlineEmailAction
  • InlineEmailForm
  • InlineEmailModelBehavior
  • InlineQuotes
  • JSONEmbeddedModelFieldsBehavior
  • JSONFieldsDefaultValuesBehavior
  • LeadRoutingBehavior
  • LeftWidget
  • LoginThemeHelper
  • LoginThemeHelperBase
  • MarketingGridViewProfileWidget
  • MediaBox
  • MessageBox
  • MobileFormatter
  • MobileFormLayoutRenderer
  • MobileLayoutRenderer
  • MobileLoginThemeHelper
  • MobileViewLayoutRenderer
  • ModelFileUploader
  • NewWebLeadsGridViewProfileWidget
  • NormalizedJSONFieldsBehavior
  • NoteBox
  • OnlineUsers
  • OpportunitiesGridViewProfileWidget
  • Panel
  • ProfileDashboardManager
  • ProfileGridViewWidget
  • ProfileLayoutEditor
  • ProfilesGridViewProfileWidget
  • Publisher
  • PublisherActionTab
  • PublisherCalendarEventTab
  • PublisherCallTab
  • PublisherCommentTab
  • PublisherEventTab
  • PublisherSmallCalendarEventTab
  • PublisherTab
  • PublisherTimeTab
  • QuickContact
  • QuickCreateRelationshipBehavior
  • QuotesGridViewProfileWidget
  • RecordAliasesWidget
  • RecordViewLayoutManager
  • RecordViewWidgetManager
  • RememberPagination
  • Reminders
  • ResponseBehavior
  • ResponsiveHtml
  • SearchIndexBehavior
  • ServicesGridViewProfileWidget
  • SmallCalendar
  • SmartActiveDataProvider
  • SmartDataProviderBehavior
  • SmartSort
  • SocialForm
  • SortableWidgetManager
  • SortableWidgets
  • TagBehavior
  • TagCloud
  • TemplatesGridViewProfileWidget
  • TimeZone
  • TopContacts
  • TopSites
  • TransformedFieldStorageBehavior
  • TranslationLogger
  • TwitterFeed
  • TwoColumnSortableWidgetManager
  • UpdaterBehavior
  • UpdatesForm
  • UserIdentity
  • UsersChartProfileWidget
  • WorkflowBehavior
  • X2ActiveGridView
  • X2ActiveGridViewForSortableWidgets
  • X2AssetManager
  • X2AuthManager
  • X2ChangeLogBehavior
  • X2ClientScript
  • X2Color
  • X2DateUtil
  • X2FixtureManager
  • X2FlowFormatter
  • X2GridView
  • X2GridViewBase
  • X2GridViewForSortableWidgets
  • X2GridViewSortableWidgetsBehavior
  • X2LeadsGridViewProfileWidget
  • X2LinkableBehavior
  • X2ListView
  • X2PillBox
  • X2ProgressBar
  • X2SmartSearchModelBehavior
  • X2TimestampBehavior
  • X2TranslationBehavior
  • X2UrlRule
  • X2WebModule
  • X2Widget
  • X2WidgetList
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: /*****************************************************************************************
  3:  * X2Engine Open Source Edition is a customer relationship management program developed by
  4:  * X2Engine, Inc. Copyright (C) 2011-2016 X2Engine Inc.
  5:  * 
  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 X2ENGINE, X2ENGINE DISCLAIMS THE WARRANTY
 11:  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
 12:  * 
 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
 16:  * details.
 17:  * 
 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
 21:  * 02110-1301 USA.
 22:  * 
 23:  * You can contact X2Engine, Inc. P.O. Box 66752, Scotts Valley,
 24:  * California 95067, USA. or at email address contact@x2engine.com.
 25:  * 
 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.
 29:  * 
 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:  * X2Engine" 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 X2Engine".
 35:  *****************************************************************************************/
 36: 
 37: Yii::import ('application.components.sortableWidget.SortableWidget');
 38: Yii::import('application.components.sortableWidget.SortableWidgetResizeBehavior');
 39: 
 40: /**
 41:  * @package application.components
 42:  */
 43: class DocViewerProfileWidget extends SortableWidget {
 44: 
 45:     public $canBeDeleted = true;
 46: 
 47:     public $defaultTitle = 'Doc Viewer';
 48: 
 49:     public $sortableWidgetJSClass = 'DocViewerProfileWidget';
 50: 
 51:     public $viewFile = '_docViewerProfileWidget';
 52: 
 53:     public $template = '<div class="submenu-title-bar widget-title-bar">{widgetLabel}{closeButton}{minimizeButton}{settingsMenu}</div>{widgetContents}';
 54: 
 55:     private static $_JSONPropertiesStructure;
 56: 
 57:     public function getViewFileParams () {
 58:         if (!isset ($this->_viewFileParams)) {
 59:             $this->_viewFileParams = array_merge (
 60:                 parent::getViewFileParams (),
 61:                 array (
 62:                     'docId' => self::getJSONProperty (
 63:                         $this->profile, 'docId', $this->widgetType, $this->widgetUID),
 64:                     'height' => self::getJSONProperty (
 65:                         $this->profile, 'height', $this->widgetType, $this->widgetUID),
 66:                 )
 67:             );
 68:         }
 69:         return $this->_viewFileParams;
 70:     } 
 71: 
 72:     /**
 73:      * overrides parent method
 74:      */
 75:     public static function getJSONPropertiesStructure () {
 76:         if (!isset (self::$_JSONPropertiesStructure)) {
 77:             self::$_JSONPropertiesStructure = array_merge (
 78:                 parent::getJSONPropertiesStructure (),
 79:                 array (
 80:                     'docId' => '', // id of the doc record to be displayed
 81:                     'label' => Yii::t('app', 'Doc Viewer'),
 82:                     'height' => '200',
 83:                     'hidden' => true
 84:                 )
 85:             );
 86:         }
 87:         return self::$_JSONPropertiesStructure;
 88:     }
 89: 
 90:     /**
 91:      * @return array translations to pass to JS objects 
 92:      */
 93:     protected function getTranslations () {
 94:         if (!isset ($this->_translations )) {
 95:             $this->_translations = array_merge (parent::getTranslations (), array (
 96:                 'dialogTitle'=> Yii::t('profile', 'Select a {Doc}', array(
 97:                     '{Doc}' => Modules::displayName(false, 'Docs')
 98:                 )),
 99:                 'closeButton'=> Yii::t('profile', 'Close'),
100:                 'selectButton'=> Yii::t('profile', 'Select'),
101:                 'docError'=> Yii::t('profile', 'Please select an existing {Doc}', array(
102:                     '{Doc}' => Modules::displayName(false, 'Docs')
103:                 )),
104:             ));
105:         }
106:         return $this->_translations;
107:     }
108: 
109:     protected function getJSSortableWidgetParams () {
110:         if (!isset ($this->_JSSortableWidgetParams)) {
111:             $docId = self::getJSONProperty (
112:                 $this->profile, 'docId', $this->widgetType, $this->widgetUID);
113:             $this->_JSSortableWidgetParams = array_merge (parent::getJSSortableWidgetParams (),
114:                 array (
115:                     'getItemsUrl' => Yii::app()->createUrl ("/docs/docs/getItems"),
116:                     'getDocUrl' => Yii::app()->createUrl("/docs/docs/getItem"),
117:                     'enableResizing' => true,
118:                     'docId' => $docId,
119:                 )
120:             );
121:         }
122:         return $this->_JSSortableWidgetParams;
123:     }
124: 
125:     /**
126:      * overrides parent method. Adds JS file necessary to run the setup script.
127:      */
128:     public function getPackages () {
129:         if (!isset ($this->_packages)) {
130:             $this->_packages = array_merge (
131:                 parent::getPackages (),
132:                 array (
133:                     'DocViewerProfileWidgetJS' => array(
134:                         'baseUrl' => Yii::app()->request->baseUrl,
135:                         'js' => array(
136:                             'js/sortableWidgets/IframeWidget.js',
137:                             'js/sortableWidgets/DocViewerProfileWidget.js',
138:                         ),
139:                         'depends' => array ('SortableWidgetJS')
140:                     ),
141:                 )
142:             );
143:         }
144:         return $this->_packages;
145:     }
146: 
147:     /**
148:      * Magic getter. Returns this widget's css
149:      * @return array key is the proposed name of the css string which should be passed as the first
150:      *  argument to yii's registerCss. The value is the css string.
151:      */
152:     protected function getCss () {
153:         if (!isset ($this->_css)) {
154:             $this->_css = array_merge (
155:                 parent::getCss (),
156:                 array (
157:                     'docViewerProfileWidgetCss' => "
158:                         #".get_called_class()."-widget-content-container {
159:                             padding-bottom: 1px;
160:                         }
161: 
162:                         #select-a-document-dialog p {
163:                             display: inline;
164:                             margin-right: 5px;
165:                         }
166: 
167:                         .default-text-container {
168:                             text-align: center;
169:                             position: absolute;
170:                             top: 0;
171:                             bottom: 0;
172:                             left: 0;
173:                             right: 0;
174:                         }
175: 
176:                         .default-text-container a {
177:                             height: 17%;
178:                             text-decoration: none;
179:                             font-size: 16px;
180:                             margin: auto;
181:                             position: absolute;
182:                             left: 0;
183:                             top: 0;
184:                             right: 0;
185:                             bottom: 0;
186:                             color: #222222 !important;
187:                         }
188:                     "
189:                 )
190:             );
191:         }
192:         return $this->_css;
193:     }
194: 
195:     protected function getSettingsMenuContentEntries () {
196:         return 
197:             '<li class="select-a-document-button">'.
198:                 Yii::t('profile', 'Select a Document').'
199:             </li>'.parent::getSettingsMenuContentEntries ();
200:     }
201: 
202:     protected function getSettingsMenuContentDialogs () {
203:         return
204:             '<div id="select-a-document-dialog-'.$this->widgetUID.'" 
205:               style="display: none;">'.
206:               '<div>'.Yii::t('profile', 'Enter the name of a {Doc}:', array(
207:                 '{Doc}' => Modules::displayName(false, 'Docs')
208:               )).'</div>'.
209:                 '<input class="selected-doc">'.
210:             '</div>'.parent::getSettingsMenuContentDialogs ();
211:     }
212: 
213: }
214: ?>
215: 
X2CRM Documentation API documentation generated by ApiGen 2.8.0