当前位置: 首页>>代码示例>>PHP>>正文


PHP Vtiger_Utils::implodestr方法代码示例

本文整理汇总了PHP中Vtiger_Utils::implodestr方法的典型用法代码示例。如果您正苦于以下问题:PHP Vtiger_Utils::implodestr方法的具体用法?PHP Vtiger_Utils::implodestr怎么用?PHP Vtiger_Utils::implodestr使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Vtiger_Utils的用法示例。


在下文中一共展示了Vtiger_Utils::implodestr方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getAllByType

 /**
  * Get all the link related to module based on type
  * @param Integer Module ID
  * @param mixed String or List of types to select 
  * @param Map Key-Value pair to use for formating the link url
  */
 static function getAllByType($tabid, $type = false, $parameters = false)
 {
     $adb = PearDatabase::getInstance();
     $current_user = vglobal('current_user');
     self::__initSchema();
     $multitype = false;
     if ($type) {
         // Multiple link type selection?
         if (is_array($type)) {
             $multitype = true;
             if ($tabid === self::IGNORE_MODULE) {
                 $sql = 'SELECT * FROM vtiger_links WHERE linktype IN (' . Vtiger_Utils::implodestr('?', count($type), ',') . ') ';
                 $params = $type;
                 $permittedTabIdList = getPermittedModuleIdList();
                 if (count($permittedTabIdList) > 0 && $current_user->is_admin !== 'on') {
                     array_push($permittedTabIdList, 0);
                     // Added to support one link for all modules
                     $sql .= ' and tabid IN (' . Vtiger_Utils::implodestr('?', count($permittedTabIdList), ',') . ')';
                     $params[] = $permittedTabIdList;
                 }
                 $result = $adb->pquery($sql, array($adb->flatten_array($params)));
             } else {
                 $result = $adb->pquery('SELECT * FROM vtiger_links WHERE (tabid=? OR tabid=0) AND linktype IN (' . Vtiger_Utils::implodestr('?', count($type), ',') . ')', array($tabid, $adb->flatten_array($type)));
             }
         } else {
             // Single link type selection
             if ($tabid === self::IGNORE_MODULE) {
                 $result = $adb->pquery('SELECT * FROM vtiger_links WHERE linktype=?', array($type));
             } else {
                 $result = $adb->pquery('SELECT * FROM vtiger_links WHERE (tabid=? OR tabid=0) AND linktype=?', array($tabid, $type));
             }
         }
     } else {
         $result = $adb->pquery('SELECT * FROM vtiger_links WHERE tabid=?', array($tabid));
     }
     $strtemplate = new Vtiger_StringTemplate();
     if ($parameters) {
         foreach ($parameters as $key => $value) {
             $strtemplate->assign($key, $value);
         }
     }
     $instances = array();
     if ($multitype) {
         foreach ($type as $t) {
             $instances[$t] = array();
         }
     }
     while ($row = $adb->fetch_array($result)) {
         $skipLink = false;
         $instance = new self();
         $instance->initialize($row);
         if (!empty($row['handler_path']) && isFileAccessible($row['handler_path'])) {
             checkFileAccessForInclusion($row['handler_path']);
             require_once $row['handler_path'];
             $linkData = new Vtiger_LinkData($instance, $current_user);
             $ignore = call_user_func(array($row['handler_class'], $row['handler']), $linkData);
             if (!$ignore) {
                 self::log("Ignoring Link ... " . var_export($row, true));
                 continue;
             }
         }
         if ($parameters) {
             $instance->linkurl = $strtemplate->merge($instance->linkurl);
             $instance->linkicon = $strtemplate->merge($instance->linkicon);
         }
         if ($instance->linktype == 'LISTVIEWSIDEBARWIDGET' || $instance->linktype == 'DETAILVIEWSIDEBARWIDGET') {
             parse_str($instance->linkurl, $linkurl);
             if (isset($linkurl['module']) && !Users_Privileges_Model::isPermitted($linkurl['module'], 'DetailView')) {
                 $skipLink = true;
             }
         }
         if (!$skipLink) {
             if ($multitype) {
                 $instances[$instance->linktype][] = $instance;
             } else {
                 $instances[$instance->linktype] = $instance;
             }
         }
     }
     return $instances;
 }
开发者ID:rcrrich,项目名称:UpdatePackages,代码行数:87,代码来源:Link.php

示例2: getAllByType

 /**
  * Get all the link related to module based on type
  * @param Integer Module ID
  * @param mixed String or List of types to select 
  * @param Map Key-Value pair to use for formating the link url
  */
 static function getAllByType($tabid, $type = false, $parameters = false)
 {
     global $adb, $current_user;
     self::__initSchema();
     $multitype = false;
     $orderby = " order by linktype,sequence";
     if ($type) {
         // Multiple link type selection?
         if (is_array($type)) {
             $multitype = true;
             if ($tabid === self::IGNORE_MODULE) {
                 $sql = 'SELECT * FROM vtiger_links WHERE linktype IN (' . Vtiger_Utils::implodestr('?', count($type), ',') . ') ';
                 $params = $type;
                 $permittedTabIdList = getPermittedModuleIdList();
                 if (count($permittedTabIdList) > 0 && $current_user->is_admin !== 'on') {
                     $sql .= ' and tabid IN (' . Vtiger_Utils::implodestr('?', count($permittedTabIdList), ',') . ')';
                     $params[] = $permittedTabIdList;
                 }
                 $result = $adb->pquery($sql . $orderby, array($adb->flatten_array($params)));
             } else {
                 $result = $adb->pquery('SELECT * FROM vtiger_links WHERE tabid=? AND linktype IN (' . Vtiger_Utils::implodestr('?', count($type), ',') . ')' . $orderby, array($tabid, $adb->flatten_array($type)));
             }
         } else {
             // Single link type selection
             if ($tabid === self::IGNORE_MODULE) {
                 $result = $adb->pquery('SELECT * FROM vtiger_links WHERE linktype=?' . $orderby, array($type));
             } else {
                 $result = $adb->pquery('SELECT * FROM vtiger_links WHERE tabid=? AND linktype=?' . $orderby, array($tabid, $type));
             }
         }
     } else {
         $result = $adb->pquery('SELECT * FROM vtiger_links WHERE tabid=?' . $orderby, array($tabid));
     }
     $strtemplate = new Vtiger_StringTemplate();
     if ($parameters) {
         foreach ($parameters as $key => $value) {
             $strtemplate->assign($key, $value);
         }
     }
     $instances = array();
     if ($multitype) {
         foreach ($type as $t) {
             $instances[$t] = array();
         }
     }
     while ($row = $adb->fetch_array($result)) {
         $instance = new self();
         $instance->initialize($row);
         if (!empty($row['handler_path']) && isFileAccessible($row['handler_path'])) {
             checkFileAccessForInclusion($row['handler_path']);
             require_once $row['handler_path'];
             $linkData = new Vtiger_LinkData($instance, $current_user);
             $ignore = call_user_func(array($row['handler_class'], $row['handler']), $linkData);
             if (!$ignore) {
                 self::log("Ignoring Link ... " . var_export($row, true));
                 continue;
             }
         }
         if ($parameters) {
             $instance->linkurl = $strtemplate->merge($instance->linkurl);
             $instance->linkicon = $strtemplate->merge($instance->linkicon);
         }
         if ($multitype) {
             $instances[$instance->linktype][] = $instance;
         } else {
             $instances[] = $instance;
         }
     }
     return $instances;
 }
开发者ID:mslokhat,项目名称:corebos,代码行数:76,代码来源:Link.php

示例3: getAllByType

 /**
  * Get all the link related to module based on type
  * @param Integer Module ID
  * @param mixed String or List of types to select 
  * @param Map Key-Value pair to use for formating the link url
  */
 static function getAllByType($tabid, $type = false, $parameters = false)
 {
     global $adb;
     self::__initSchema();
     $multitype = false;
     if ($type) {
         // Multiple link type selection?
         if (is_array($type)) {
             $multitype = true;
             if ($tabid === self::IGNORE_MODULE) {
                 $result = $adb->pquery('SELECT * FROM vtiger_links WHERE linktype IN (' . Vtiger_Utils::implodestr('?', count($type), ',') . ')', array($adb->flatten_array($type)));
             } else {
                 $result = $adb->pquery('SELECT * FROM vtiger_links WHERE tabid=? AND linktype IN (' . Vtiger_Utils::implodestr('?', count($type), ',') . ')', array($tabid, $adb->flatten_array($type)));
             }
         } else {
             // Single link type selection
             if ($tabid === self::IGNORE_MODULE) {
                 $result = $adb->pquery('SELECT * FROM vtiger_links WHERE linktype=?', array($type));
             } else {
                 $result = $adb->pquery('SELECT * FROM vtiger_links WHERE tabid=? AND linktype=?', array($tabid, $type));
             }
         }
     } else {
         $result = $adb->pquery('SELECT * FROM vtiger_links WHERE tabid=?', array($tabid));
     }
     $strtemplate = new Vtiger_StringTemplate();
     if ($parameters) {
         foreach ($parameters as $key => $value) {
             $strtemplate->assign($key, $value);
         }
     }
     $instances = array();
     if ($multitype) {
         foreach ($type as $t) {
             $instances[$t] = array();
         }
     }
     while ($row = $adb->fetch_array($result)) {
         $instance = new self();
         $instance->initialize($row);
         if ($parameters) {
             $instance->linkurl = $strtemplate->merge($instance->linkurl);
             $instance->linkicon = $strtemplate->merge($instance->linkicon);
         }
         if ($multitype) {
             $instances[$instance->linktype][] = $instance;
         } else {
             $instances[] = $instance;
         }
     }
     return $instances;
 }
开发者ID:vtiger-jp,项目名称:vtigercrm-5.1.x-ja,代码行数:58,代码来源:Link.php


注:本文中的Vtiger_Utils::implodestr方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。