예제 #1
0
파일: Modules.php 프로젝트: dsyman2/X2CRM
 public function getLinkedRecord()
 {
     if ($this->moduleType !== 'recordLink') {
         throw new CException('invalid module type');
     }
     $model = X2Model::model2($this->linkRecordType);
     if ($model && ($record = $model->findByPk($this->linkRecordId))) {
         return $record;
     }
 }
예제 #2
0
파일: main.php 프로젝트: tymiles003/X2CRM
                $active = strtolower($module) == strtolower($name) && (!isset($_GET['static']) || $_GET['static'] != 'true') ? true : null;
                $menuItems[] = array('label' => Yii::t('app', $title), 'url' => array("/{$name}/{$defaultAction}"), 'itemOptions' => array('class' => 'top-bar-module-link'), 'active' => $active);
            }
        } else {
            $page = Docs::model()->findByAttributes(array('name' => ucfirst(mb_ereg_replace(':', ':', $title))));
            if (isset($page) && Yii::app()->user->checkAccess('DocsView')) {
                $id = $page->id;
                $menuItems[] = array('label' => ucfirst($title), 'url' => array('/docs/' . $id . '?static=true'), 'itemOptions' => array('class' => 'top-bar-module-link'), 'active' => Yii::app()->request->requestUri == $scriptUrl . '/docs/' . $id . '?static=true' ? true : null);
            }
        }
    } elseif ($moduleItem->moduleType === 'link') {
        if (isset($moduleItem->linkHref)) {
            $menuItems[] = array('label' => $moduleItem->title, 'url' => $moduleItem->linkHref, 'itemOptions' => array('class' => 'top-bar-module-link'), 'linkOptions' => $moduleItem->linkOpenInNewTab ? array('target' => '_blank') : array(), 'active' => AuxLib::getRequestUrl() === $moduleItem->linkHref);
        }
    } elseif ($moduleItem->moduleType === 'recordLink') {
        if (isset($moduleItem->linkRecordType) && isset($moduleItem->linkRecordId) && ($model = X2Model::model2($moduleItem->linkRecordType)) && ($record = $model->findByPk($moduleItem->linkRecordId)) && $record->asa('X2LinkableBehavior') && $record->isVisibleTo(Yii::app()->params->profile->user)) {
            $menuItems[] = array('label' => $record->name, 'url' => $record->getUrl(), 'itemOptions' => array('class' => 'top-bar-module-link'), 'linkOptions' => $moduleItem->linkOpenInNewTab ? array('target' => '_blank') : array(), 'active' => AuxLib::getRequestUrl() == $record->getUrl());
        }
    }
}
$maxMenuItems = 4;
//check if menu has too many items to fit nicely
$menuItemCount = count($menuItems);
if ($menuItemCount > $maxMenuItems) {
    end($menuItems);
    //move the last few menu items into the "More" dropdown
    for ($i = 0; $i < $menuItemCount - ($maxMenuItems - 1); $i++) {
        $menuItems[key($menuItems)]['itemOptions'] = array('style' => 'display: none;', 'class' => 'top-bar-module-link');
        prev($menuItems);
    }
}