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


PHP Horde_Db_Adapter::quote方法代码示例

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


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

示例1: getHighestModSeq

 /**
  *  Return the current value of the modseq. We take the MAX of the
  *  horde_histories table instead of the value of the horde_histories_modseq
  *  table to ensure we never miss an entry if we query the history system
  *  between the time we call nextModSeq() and the time the new entry is
  *  written.
  *
  * @param string $parent  Restrict to entries a specific parent.
  *
  * @return integer|boolean  The highest used modseq value, false if no history.
  */
 public function getHighestModSeq($parent = null)
 {
     $sql = 'SELECT history_modseq FROM horde_histories';
     if (!empty($parent)) {
         $sql .= ' WHERE object_uid LIKE ' . $this->_db->quote($parent . ':%');
     }
     $sql .= ' ORDER BY history_modseq DESC';
     $sql = $this->_db->addLimitOffset($sql, array('limit' => 1));
     try {
         $modseq = $this->_db->selectValue($sql);
     } catch (Horde_Db_Exception $e) {
         throw new Horde_History_Exception($e);
     }
     if (is_null($modseq) || $modseq === false) {
         try {
             $modseq = $this->_db->selectValue('SELECT MAX(history_modseq) FROM horde_histories_modseq');
         } catch (Horde_Db_Exception $e) {
             throw new Horde_History_Exception($e);
         }
         if (!empty($modseq)) {
             return $modseq;
         } else {
             return false;
         }
     }
     return $modseq;
 }
开发者ID:jubinpatel,项目名称:horde,代码行数:38,代码来源:Sql.php

示例2: _getUserAndGroupCriteria

 /**
  * Returns criteria statement fragments for querying shares.
  *
  * @param string  $userid  The userid of the user to check access for.
  * @param integer $perm    The level of permissions required.
  *
  * @return array  An array with query and where string fragments.
  */
 protected function _getUserAndGroupCriteria($userid, $perm = Horde_Perms::SHOW)
 {
     $query = $where = '';
     if (empty($userid)) {
         $where = '(' . $this->_db->buildClause('s.perm_guest', '&', $perm) . ' > 0)';
     } else {
         // (owner == $userid)
         $where .= 's.share_owner = ' . $this->_db->quote($userid);
         // (name == perm_creator and val & $perm)
         $where .= ' OR (' . $this->_db->buildClause('s.perm_creator', '&', $perm) . ' > 0)';
         // (name == perm_creator and val & $perm)
         $where .= ' OR (' . $this->_db->buildClause('s.perm_default', '&', $perm) . ' > 0)';
         // (name == perm_users and key == $userid and val & $perm)
         $query .= ' LEFT JOIN ' . $this->_table . '_users u ON u.share_id = s.share_id';
         $where .= ' OR ( u.user_uid = ' . $this->_db->quote($userid) . ' AND (' . $this->_db->buildClause('u.perm', '&', $perm) . ' > 0))';
         // If the user has any group memberships, check for those also.
         try {
             $groups = $this->_groups->listGroups($userid);
             if ($groups) {
                 // (name == perm_groups and key in ($groups) and val & $perm)
                 $ids = array_keys($groups);
                 $group_ids = array();
                 foreach ($ids as $id) {
                     $group_ids[] = $this->_db->quote((string) $id);
                 }
                 $query .= ' LEFT JOIN ' . $this->_table . '_groups g ON g.share_id = s.share_id';
                 $where .= ' OR (g.group_uid IN (' . implode(',', $group_ids) . ') AND (' . $this->_db->buildClause('g.perm', '&', $perm) . ' > 0))';
             }
         } catch (Horde_Group_Exception $e) {
             $this->_logger->err($e);
         }
     }
     return array($query, $where);
 }
开发者ID:raz0rsdge,项目名称:horde,代码行数:42,代码来源:Sql.php

示例3: setData

 /**
  * Sets one or more attributes of a group.
  *
  * @param mixed $gid               A group ID.
  * @param array|string $attribute  An attribute name or a hash of
  *                                 attributes.
  * @param string $value            An attribute value if $attribute is a
  *                                 string.
  *
  * @throws Horde_Group_Exception
  */
 public function setData($gid, $attribute, $value = null)
 {
     $attributes = is_array($attribute) ? $attribute : array($attribute => $value);
     $updates = array();
     foreach ($attributes as $attribute => $value) {
         $updates[] = $this->_db->quoteColumnName('group_' . $attribute) . ' = ' . $this->_db->quote($value);
     }
     try {
         $this->_db->update('UPDATE horde_groups SET ' . implode(', ', $updates) . ' WHERE group_uid = ?', array($gid));
     } catch (Horde_Db_Exception $e) {
         throw new Horde_Group_Exception($e);
     }
 }
开发者ID:jubinpatel,项目名称:horde,代码行数:24,代码来源:Sql.php

示例4: numberOfRecipients

 /**
  */
 public function numberOfRecipients($hours, $user = false)
 {
     /* Build the SQL query. */
     $query = sprintf('SELECT COUNT(*) FROM %s WHERE sentmail_ts > ? AND sentmail_success = 1', $this->_params['table']);
     if ($user) {
         $query .= sprintf(' AND sentmail_who = %s', $this->_db->quote($GLOBALS['registry']->getAuth()));
     }
     /* Execute the query. */
     try {
         return $this->_db->selectValue($query, array(time() - $hours * 3600));
     } catch (Horde_Db_Exception $e) {
         return 0;
     }
 }
开发者ID:DSNS-LAB,项目名称:Dmail,代码行数:16,代码来源:Sql.php

示例5: _equalClause

 /**
  * @TODO
  */
 private function _equalClause($lhs, $rhs, $quote = true)
 {
     if (!is_array($rhs)) {
         if ($quote) {
             return sprintf(' %s = %s', $lhs, $this->_db->quote($rhs));
         }
         return sprintf(' %s = %s', $lhs, $rhs);
     }
     if (count($rhs) == 0) {
         return ' FALSE';
     }
     $glue = '';
     $ret = sprintf(' %s IN ( ', $lhs);
     foreach ($rhs as $value) {
         $ret .= $glue . $this->_db->quote($value);
         $glue = ', ';
     }
     return $ret . ' )';
 }
开发者ID:jubinpatel,项目名称:horde,代码行数:22,代码来源:Sql.php

示例6: getMatchingPages

 public function getMatchingPages($searchtext, $matchType = Wicked_Page::MATCH_ANY)
 {
     $searchtext = strtolower($searchtext);
     try {
         /* Short circuit the simple case. */
         if ($matchType == Wicked_Page::MATCH_ANY) {
             return $this->_retrieve($this->_params['table'], 'LOWER(page_name) LIKE ' . $this->_db->quote('%' . $searchtext . '%'));
         }
         $clauses = array();
         if ($matchType & Wicked_Page::MATCH_LEFT) {
             $clauses[] = 'LOWER(page_name) LIKE ' . $this->_db->quote($searchtext . '%');
         }
         if ($matchType & Wicked_Page::MATCH_RIGHT) {
             $clauses[] = 'LOWER(page_name) LIKE ' . $this->_db->quote('%' . $searchtext);
         }
     } catch (Horde_Db_Exception $e) {
         throw new Wicked_Exception($e);
     }
     if (!$clauses) {
         return array();
     }
     return $this->_retrieve($this->_params['table'], implode(' OR ', $clauses));
 }
开发者ID:jubinpatel,项目名称:horde,代码行数:23,代码来源:Sql.php

示例7: search

 /**
  * Searches forums for matching threads or posts.
  *
  * @param array $filter  Hash of filter criteria:
  *          'forums'         => Array of forum IDs to search.  If not
  *                              present, searches all forums.
  *          'keywords'       => Array of keywords to search for.  If not
  *                              present, finds all posts/threads.
  *          'allkeywords'    => Boolean specifying whether to find all
  *                              keywords; otherwise, wants any keyword.
  *                              False if not supplied.
  *          'message_author' => Name of author to find posts by.  If not
  *                              present, any author.
  *          'searchsubjects' => Boolean specifying whether to search
  *                              subjects.  True if not supplied.
  *          'searchcontents' => Boolean specifying whether to search
  *                              post contents.  False if not supplied.
  * @param string  $sort_by       The column by which to sort.
  * @param integer $sort_dir      The direction by which to sort:
  *                                   0 - ascending
  *                                   1 - descending
  * @param string  $from          The thread to start listing at.
  * @param string  $count         The number of threads to return.
  *
  * @return array  A search result hash where:
  *          'results'        => Array of messages.
  *          'total           => Total message number.
  * @throws Agora_Exception
  */
 public function search($filter, $sort_by = 'message_subject', $sort_dir = 0, $from = 0, $count = 0)
 {
     if (!isset($filter['allkeywords'])) {
         $filter['allkeywords'] = false;
     }
     if (!isset($filter['searchsubjects'])) {
         $filter['searchsubjects'] = true;
     }
     if (!isset($filter['searchcontents'])) {
         $filter['searchcontents'] = false;
     }
     /* Select forums ids to search in */
     $sql = 'SELECT forum_id, forum_name FROM ' . $this->_forums_table . ' WHERE ';
     if (empty($filter['forums'])) {
         $sql .= ' active = ? AND scope = ?';
         $values = array(1, $this->_scope);
     } else {
         $sql .= ' forum_id IN (' . implode(',', $filter['forums']) . ')';
         $values = array();
     }
     try {
         $forums = $this->_db->selectAssoc($sql, $values);
     } catch (Horde_Db_Exception $e) {
         throw new Agora_Exception($e->getMessage());
     }
     /* Build query  */
     $sql = ' FROM ' . $this->_threads_table . ' WHERE forum_id IN (' . implode(',', array_keys($forums)) . ')';
     if (!empty($filter['keywords'])) {
         $sql .= ' AND (';
         if ($filter['searchsubjects']) {
             $keywords = '';
             foreach ($filter['keywords'] as $keyword) {
                 if (!empty($keywords)) {
                     $keywords .= $filter['allkeywords'] ? ' AND ' : ' OR ';
                 }
                 $keywords .= 'message_subject LIKE ' . $this->_db->quote('%' . $keyword . '%');
             }
             $sql .= '(' . $keywords . ')';
         }
         if ($filter['searchcontents']) {
             if ($filter['searchsubjects']) {
                 $sql .= ' OR ';
             }
             $keywords = '';
             foreach ($filter['keywords'] as $keyword) {
                 if (!empty($keywords)) {
                     $keywords .= $filter['allkeywords'] ? ' AND ' : ' OR ';
                 }
                 $keywords .= 'body LIKE ' . $this->_db->quote('%' . $keyword . '%');
             }
             $sql .= '(' . $keywords . ')';
         }
         $sql .= ')';
     }
     if (!empty($filter['author'])) {
         $sql .= ' AND message_author = ' . $this->_db->quote(Horde_String::lower($filter['author']));
     }
     /* Sort by result column. */
     $sql .= ' ORDER BY ' . $sort_by . ' ' . ($sort_dir ? 'DESC' : 'ASC');
     /* Slice directly in DB. */
     if ($count) {
         $total = $this->_db->selectValue('SELECT COUNT(*) ' . $sql);
         $sql = $this->_db->addLimitOffset($sql, array('limit' => $count, 'offset' => $from));
     }
     $sql = 'SELECT message_id, forum_id, message_subject, message_author, message_timestamp ' . $sql;
     try {
         $messages = $this->_db->select($sql);
     } catch (Horde_Db_Exception $e) {
         throw new Agora_Exception($e->getMessage());
     }
     if (empty($messages)) {
//.........这里部分代码省略.........
开发者ID:horde,项目名称:horde,代码行数:101,代码来源:Driver.php

示例8: quote

 /**
  * Quotes user input if supported by the transport driver.
  *
  * @param string $string  A string to quote.
  *
  * @return string  The quoted string.
  */
 public function quote($string)
 {
     $this->_connect();
     return $this->_db->quote($string);
 }
开发者ID:jubinpatel,项目名称:horde,代码行数:12,代码来源:Sql.php


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