| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
-*/
+ */
/**
*
const CACHE_KEY_STRLEN = 8;
/**
- * Class constructor
+ * Class constructor.
*/
public function __construct() {
parent::__construct();
}
/**
- * Update the is_active flag in the db
+ * Update the is_active flag in the db.
*
- * @param int $id id of the database record
- * @param boolean $is_active value we want to set the is_active field
+ * @param int $id
+ * Id of the database record.
+ * @param bool $is_active
+ * Value we want to set the is_active field.
*
- * @return Object DAO object on sucess, null otherwise
+ * @return Object
+ * DAO object on sucess, NULL otherwise
*
- * @static
*/
public static function setIsActive($id, $is_active) {
return CRM_Core_DAO::setFieldValue('CRM_Core_DAO_Navigation', $id, 'is_active', $is_active);
/**
* Get existing / build navigation for CiviCRM Admin Menu
*
- * @static
- * @return array associated array
+ * @return array
+ * associated array
*/
public static function getMenus() {
$menus = array();
/**
* Add/update navigation record
*
- * @param array associated array of submitted values
+ * @param $params associated array of submitted values
*
- * @return object navigation object
- * @static
+ * @return object
+ * navigation object
*/
public static function add(&$params) {
$navigation = new CRM_Core_DAO_Navigation();
$params['has_separator'] = CRM_Utils_Array::value('has_separator', $params, FALSE);
if (!isset($params['id']) ||
- (CRM_Utils_Array::value( 'parent_id', $params ) != CRM_Utils_Array::value('current_parent_id', $params))
+ (CRM_Utils_Array::value('parent_id', $params) != CRM_Utils_Array::value('current_parent_id', $params))
) {
/* re/calculate the weight, if the Parent ID changed OR create new menu */
}
/**
- * Fetch object based on array of properties
+ * Fetch object based on array of properties.
*
- * @param array $params (reference ) an assoc array of name/value pairs
- * @param array $defaults (reference ) an assoc array to hold the flattened values
+ * @param array $params
+ * (reference ) an assoc array of name/value pairs.
+ * @param array $defaults
+ * (reference ) an assoc array to hold the flattened values.
*
- * @return CRM_Core_BAO_Navigation object on success, null otherwise
- * @static
+ * @return CRM_Core_BAO_Navigation|null
+ * object on success, NULL otherwise
*/
public static function retrieve(&$params, &$defaults) {
$navigation = new CRM_Core_DAO_Navigation();
}
/**
- * Calculate navigation weight
+ * Calculate navigation weight.
*
- * @param $parentID parent_id of a menu
- * @param $menuID menu id
+ * @param int $parentID
+ * Parent_id of a menu.
+ * @param int $menuID
+ * Menu id.
*
- * @return int $weight string@static
+ * @return int
+ * $weight string
*/
public static function calculateWeight($parentID = NULL, $menuID = NULL) {
$domainID = CRM_Core_Config::domainID();
}
/**
- * Get formatted menu list
+ * Get formatted menu list.
*
- * @return array $navigations returns associated array
- * @static
+ * @return array
+ * returns associated array
*/
public static function getNavigationList() {
$cacheKeyString = "navigationList";
/**
* Helper function for getNavigationList( )
*
- * @param array $list menu info
- * @param array $navigations navigation menus
- * @param string $separator menu separator
+ * @param array $list
+ * Menu info.
+ * @param array $navigations
+ * Navigation menus.
+ * @param string $separator
+ * Menu separator.
*/
public static function _getNavigationLabel($list, &$navigations, $separator = '') {
$i18n = CRM_Core_I18n::singleton();
/**
* Helper function for getNavigationList( )
*
- * @param string $val menu name
- * @param array $pidGroups parent menus
+ * @param string $val
+ * Menu name.
+ * @param array $pidGroups
+ * Parent menus.
* @return array
*/
public static function _getNavigationValue($val, &$pidGroups) {
}
/**
- * Build navigation tree
+ * Build navigation tree.
*
- * @param array $navigationTree nested array of menus
- * @param int $parentID parent id
- * @param boolean $navigationMenu true when called for building top navigation menu
+ * @param array $navigationTree
+ * Nested array of menus.
+ * @param int $parentID
+ * Parent id.
+ * @param bool $navigationMenu
+ * True when called for building top navigation menu.
*
- * @return array $navigationTree nested array of menus
- * @static
+ * @return array
+ * nested array of menus
*/
public static function buildNavigationTree(&$navigationTree, $parentID, $navigationMenu = TRUE) {
$whereClause = " parent_id IS NULL";
// for each menu get their children
$navigationTree[$navigation->id] = array(
- 'attributes' => array('label' => $label,
+ 'attributes' => array(
+ 'label' => $label,
'name' => $navigation->name,
'url' => $navigation->url,
'permission' => $navigation->permission,
'parentID' => $navigation->parent_id,
'navID' => $navigation->id,
'active' => $navigation->is_active,
- ));
+ ),
+ );
self::buildNavigationTree($navigationTree[$navigation->id]['child'], $navigation->id, $navigationMenu);
}
}
/**
- * Build menu
+ * Build menu.
*
- * @param boolean $json by default output is html
- * @param boolean $navigationMenu true when called for building top navigation menu
+ * @param bool $json
+ * By default output is html.
+ * @param bool $navigationMenu
+ * True when called for building top navigation menu.
*
- * @return returns html or json object
- * @static
+ * @return string
+ * html or json string
*/
public static function buildNavigation($json = FALSE, $navigationMenu = TRUE) {
$navigations = array();
}
/**
- * Recursively check child menus
+ * Recursively check child menus.
*
* @param array $value
* @param string $navigationString
- * @param boolean $json
- * @param boolean $skipMenuItems
+ * @param bool $json
+ * @param bool $skipMenuItems
* @return string
*/
public static function recurseNavigation(&$value, &$navigationString, $json, $skipMenuItems) {
}
/**
- * Get Menu name
+ * Get Menu name.
*
* @param $value
* @param array $skipMenuItems
// want to use ts() as it would throw the ts-extractor off
$i18n = CRM_Core_I18n::singleton();
- $name = $i18n->crm_translate($value['attributes']['label'], array('context' => 'menu'));
- $url = $value['attributes']['url'];
+ $name = $i18n->crm_translate($value['attributes']['label'], array('context' => 'menu'));
+ $url = $value['attributes']['url'];
$permission = $value['attributes']['permission'];
- $operator = $value['attributes']['operator'];
- $parentID = $value['attributes']['parentID'];
- $navID = $value['attributes']['navID'];
- $active = $value['attributes']['active'];
- $menuName = $value['attributes']['name'];
- $target = CRM_Utils_Array::value('target', $value['attributes']);
+ $operator = $value['attributes']['operator'];
+ $parentID = $value['attributes']['parentID'];
+ $navID = $value['attributes']['navID'];
+ $active = $value['attributes']['active'];
+ $menuName = $value['attributes']['name'];
+ $target = CRM_Utils_Array::value('target', $value['attributes']);
if (in_array($parentID, $skipMenuItems) || !$active) {
$skipMenuItems[] = $navID;
//we need to check core view/edit or supported acls.
if (in_array($menuName, array(
- 'Search...', 'Contacts'))) {
+ 'Search...',
+ 'Contacts',
+ ))) {
if (!CRM_Core_Permission::giveMeAllACLs()) {
$skipMenuItems[] = $navID;
return FALSE;
}
/**
- * Create navigation for CiviCRM Admin Menu
+ * Create navigation for CiviCRM Admin Menu.
*
- * @param int $contactID contact id
+ * @param int $contactID
+ * Contact id.
*
- * @return string $navigation returns navigation html
- * @static
+ * @return string
+ * returns navigation html
*/
public static function createNavigation($contactID) {
$config = CRM_Core_Config::singleton();
// get home menu from db
$homeParams = array('name' => 'Home');
$homeNav = array();
- $homeIcon = '<img src="' . $config->userFrameworkResourceURL . 'i/logo16px.png" style="vertical-align:middle;" />';
+ $homeIcon = '<span class="crm-logo-sm" ></span>';
self::retrieve($homeParams, $homeNav);
if ($homeNav) {
list($path, $q) = explode('?', $homeNav['url']);
<ul id='civicrm-home'>
<li><a href='$homeURL'>$homeLabel</a></li>
<li><a href='#' class='crm-hidemenu'>$hideLabel</a></li>
- <li><a href='$logoutURL' class='crm-logout-link'>". ts('Log out') ."</a></li>
+ <li><a href='$logoutURL' class='crm-logout-link'>" . ts('Log out') . "</a></li>
</ul>";
// <li> tag doesn't need to be closed
}
}
/**
- * Reset navigation for all contacts or a specified contact
+ * Reset navigation for all contacts or a specified contact.
*
- * @param integer $contactID - reset only entries belonging to that contact ID
+ * @param int $contactID
+ * Reset only entries belonging to that contact ID.
* @return string
*/
public static function resetNavigation($contactID = NULL) {
}
/**
- * Process navigation
+ * Process navigation.
*
- * @param array $params associated array, $_GET
+ * @param array $params
+ * Associated array, $_GET.
*
* @return void
- * @static
*/
public static function processNavigation(&$params) {
- $nodeID = (int)str_replace("node_", "", $params['id']);
- $referenceID = (int)str_replace("node_", "", $params['ref_id']);
- $position = $params['ps'];
- $type = $params['type'];
- $label = CRM_Utils_Array::value('data', $params);
+ $nodeID = (int) str_replace("node_", "", $params['id']);
+ $referenceID = (int) str_replace("node_", "", $params['ref_id']);
+ $position = $params['ps'];
+ $type = $params['type'];
+ $label = CRM_Utils_Array::value('data', $params);
switch ($type) {
case "move":
}
/**
- * Process move action
+ * Process move action.
*
- * @param $nodeID node that is being moved
- * @param $referenceID parent id where node is moved. 0 mean no parent
- * @param $position new position of the nod, it starts with 0 - n
+ * @param $nodeID
+ * Node that is being moved.
+ * @param $referenceID
+ * Parent id where node is moved. 0 mean no parent.
+ * @param $position
+ * New position of the nod, it starts with 0 - n.
*
* @return void
- * @static
*/
public static function processMove($nodeID, $referenceID, $position) {
// based on the new position we need to get the weight of the node after moved node
$parentClause = 'parent_id IS NULL';
}
- $incrementOtherNodes = true;
- $sql = "SELECT weight from civicrm_navigation WHERE {$parentClause} ORDER BY weight LIMIT %1, 1";
- $params = array(1 => array( $position, 'Positive'));
+ $incrementOtherNodes = TRUE;
+ $sql = "SELECT weight from civicrm_navigation WHERE {$parentClause} ORDER BY weight LIMIT %1, 1";
+ $params = array(1 => array($position, 'Positive'));
$newWeight = CRM_Core_DAO::singleValueQuery($sql, $params);
// this means node is moved to last position, so you need to get the weight of last element + 1
if (!$newWeight) {
$lastPosition = $position - 1;
- $sql = "SELECT weight from civicrm_navigation WHERE {$parentClause} ORDER BY weight LIMIT %1, 1";
+ $sql = "SELECT weight from civicrm_navigation WHERE {$parentClause} ORDER BY weight LIMIT %1, 1";
$params = array(1 => array($lastPosition, 'Positive'));
$newWeight = CRM_Core_DAO::singleValueQuery($sql, $params);
$newWeight = $newWeight + 1;
// since this is a last node we don't need to increment other nodes
- $incrementOtherNodes = false;
+ $incrementOtherNodes = FALSE;
}
$transaction = new CRM_Core_Transaction();
// now update the existing nodes to weight + 1, if required.
- if ( $incrementOtherNodes ) {
+ if ($incrementOtherNodes) {
$query = "UPDATE civicrm_navigation SET weight = weight + 1
WHERE {$parentClause} AND weight >= {$newWeight}";
}
/**
- * Function to process rename action for tree
+ * Function to process rename action for tree.
*
* @param int $nodeID
* @param $label
}
/**
- * Process delete action for tree
+ * Process delete action for tree.
*
* @param int $nodeID
*/
}
/**
- * Get the info on navigation item
+ * Get the info on navigation item.
*
- * @param int $navigationID navigation id
+ * @param int $navigationID
+ * Navigation id.
*
- * @return array associated array
- * @static
+ * @return array
+ * associated array
*/
public static function getNavigationInfo($navigationID) {
- $query = "SELECT parent_id, weight FROM civicrm_navigation WHERE id = %1";
+ $query = "SELECT parent_id, weight FROM civicrm_navigation WHERE id = %1";
$params = array($navigationID, 'Integer');
- $dao = CRM_Core_DAO::executeQuery($query, array(1 => $params));
+ $dao = CRM_Core_DAO::executeQuery($query, array(1 => $params));
$dao->fetch();
return array(
'parent_id' => $dao->parent_id,
}
/**
- * Update menu
+ * Update menu.
*
- * @param array $params
- * @param array $newParams new value of params
- * @static
+ * @param array $params
+ * @param array $newParams
+ * New value of params.
*/
public static function processUpdate($params, $newParams) {
$dao = new CRM_Core_DAO_Navigation();
}
return $key;
}
+
}