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


PHP rcube_db::query方法代码示例

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


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

示例1:

 /**
  * Deletes given saved search record
  *
  * @param  int  $sid  Search ID
  *
  * @return boolean True if deleted successfully, false if nothing changed
  */
 function delete_search($sid)
 {
     if (!$this->ID) {
         return false;
     }
     $this->db->query("DELETE FROM " . $this->db->table_name('searches') . " WHERE user_id = ?" . " AND search_id = ?", (int) $this->ID, $sid);
     return $this->db->affected_rows();
 }
开发者ID:alecchisi,项目名称:roundcubemail,代码行数:15,代码来源:rcube_user.php

示例2: unique_groupname

 /**
  * Check for existing groups with the same name
  *
  * @param string Name to check
  * @return string A group name which is unique for the current use
  */
 private function unique_groupname($name)
 {
     $checkname = $name;
     $num = 2;
     $hit = false;
     do {
         $sql_result = $this->db->query("SELECT 1 FROM " . $this->db->table_name($this->db_groups) . " WHERE del<>1" . " AND user_id=?" . " AND name=?", $this->user_id, $checkname);
         // append number to make name unique
         if ($hit = $this->db->fetch_array($sql_result)) {
             $checkname = $name . ' ' . $num++;
         }
     } while ($hit);
     return $checkname;
 }
开发者ID:netcon-source,项目名称:roundcubemail,代码行数:20,代码来源:rcube_contacts.php

示例3: remove_record

 /**
  * Deletes the cache record(s).
  *
  * @param string  $key         Cache key name or pattern
  * @param boolean $prefix_mode Enable it to clear all keys starting
  *                             with prefix specified in $key
  */
 private function remove_record($key = null, $prefix_mode = false)
 {
     if (!$this->db) {
         return;
     }
     if ($this->type != 'db') {
         $this->load_index();
         // Remove all keys
         if ($key === null) {
             foreach ($this->index as $key) {
                 $this->delete_record($this->ckey($key));
             }
             $this->index = array();
         } else {
             if ($prefix_mode) {
                 foreach ($this->index as $idx => $k) {
                     if (strpos($k, $key) === 0) {
                         $this->delete_record($this->ckey($k));
                         unset($this->index[$idx]);
                     }
                 }
             } else {
                 $this->delete_record($this->ckey($key));
                 if (($idx = array_search($key, $this->index)) !== false) {
                     unset($this->index[$idx]);
                 }
             }
         }
         $this->index_changed = true;
         return;
     }
     // Remove all keys (in specified cache)
     if ($key === null) {
         $where = " WHERE `cache_key` LIKE " . $this->db->quote($this->prefix . '.%');
     } else {
         if ($prefix_mode) {
             $where = " WHERE `cache_key` LIKE " . $this->db->quote($this->prefix . '.' . $key . '%');
         } else {
             $where = " WHERE `cache_key` = " . $this->db->quote($this->prefix . '.' . $key);
         }
     }
     $this->db->query("DELETE FROM " . $this->table . $where);
 }
开发者ID:jimjag,项目名称:roundcubemail,代码行数:50,代码来源:rcube_cache_shared.php

示例4: hmail_db_connect

function hmail_db_connect()
{
    $rcmail = rcube::get_instance();
    if ($dsn = $rcmail->config->get('companyaddressbook_db_dsnw')) {
        $db = new rcube_db($dsn, '', FALSE);
        $db->set_debug((bool) $rcmail->config->get('sql_debug'));
        $db->db_connect('w');
        $sql = 'SELECT * FROM hm_dbversion LIMIT 1';
        $result = $db->query($sql);
        if ($db->error) {
            return false;
        }
        $v = $db->fetch_assoc($result);
        if ($v['value'] >= HMAIL_DB_VERSION_MIN && $v['value'] <= HMAIL_DB_VERSION_MAX) {
            return $db;
        } else {
            return false;
        }
    } else {
        return false;
    }
}
开发者ID:MetallianFR68,项目名称:myroundcube,代码行数:22,代码来源:driver.php

示例5: remove_record

 /**
  * Deletes the cache record(s).
  *
  * @param string  $key         Cache key name or pattern
  * @param boolean $prefix_mode Enable it to clear all keys starting
  *                             with prefix specified in $key
  */
 private function remove_record($key = null, $prefix_mode = false)
 {
     if (!$this->db) {
         return;
     }
     if ($this->type != 'db') {
         $this->load_index();
         // Remove all keys
         if ($key === null) {
             foreach ($this->index as $key) {
                 $this->delete_record($key, false);
             }
             $this->index = array();
         } else {
             if ($prefix_mode) {
                 foreach ($this->index as $k) {
                     if (strpos($k, $key) === 0) {
                         $this->delete_record($k);
                     }
                 }
             } else {
                 $this->delete_record($key);
             }
         }
         return;
     }
     // Remove all keys (in specified cache)
     if ($key === null) {
         $where = " AND cache_key LIKE " . $this->db->quote($this->prefix . '.%');
     } else {
         if ($prefix_mode) {
             $where = " AND cache_key LIKE " . $this->db->quote($this->prefix . '.' . $key . '%');
         } else {
             $where = " AND cache_key = " . $this->db->quote($this->prefix . '.' . $key);
         }
     }
     $this->db->query("DELETE FROM " . $this->table . " WHERE user_id = ?" . $where, $this->userid);
 }
开发者ID:bbspike,项目名称:sentora-core,代码行数:45,代码来源:rcube_cache.php

示例6: synchronize

 /**
  * Synchronizes the mailbox.
  *
  * @param string $mailbox Folder name
  */
 function synchronize($mailbox)
 {
     // RFC4549: Synchronization Operations for Disconnected IMAP4 Clients
     // RFC4551: IMAP Extension for Conditional STORE Operation
     //          or Quick Flag Changes Resynchronization
     // RFC5162: IMAP Extensions for Quick Mailbox Resynchronization
     // @TODO: synchronize with other methods?
     $qresync = $this->imap->get_capability('QRESYNC');
     $condstore = $qresync ? true : $this->imap->get_capability('CONDSTORE');
     if (!$qresync && !$condstore) {
         return;
     }
     // Get stored index
     $index = $this->get_index_row($mailbox);
     // database is empty
     if (empty($index)) {
         // set the flag that DB was already queried for index
         // this way we'll be able to skip one SELECT in get_index()
         $this->icache[$mailbox]['index_queried'] = true;
         return;
     }
     $this->icache[$mailbox]['index'] = $index;
     // no last HIGHESTMODSEQ value
     if (empty($index['modseq'])) {
         return;
     }
     if (!$this->imap->check_connection()) {
         return;
     }
     // Enable QRESYNC
     $res = $this->imap->conn->enable($qresync ? 'QRESYNC' : 'CONDSTORE');
     if ($res === false) {
         return;
     }
     // Close mailbox if already selected to get most recent data
     if ($this->imap->conn->selected == $mailbox) {
         $this->imap->conn->close();
     }
     // Get mailbox data (UIDVALIDITY, HIGHESTMODSEQ, counters, etc.)
     $mbox_data = $this->imap->folder_data($mailbox);
     if (empty($mbox_data)) {
         return;
     }
     // Check UIDVALIDITY
     if ($index['validity'] != $mbox_data['UIDVALIDITY']) {
         $this->clear($mailbox);
         return;
     }
     // QRESYNC not supported on specified mailbox
     if (!empty($mbox_data['NOMODSEQ']) || empty($mbox_data['HIGHESTMODSEQ'])) {
         return;
     }
     // Nothing new
     if ($mbox_data['HIGHESTMODSEQ'] == $index['modseq']) {
         return;
     }
     $uids = array();
     $removed = array();
     // Get known UIDs
     if ($this->mode & self::MODE_MESSAGE) {
         $sql_result = $this->db->query("SELECT `uid`" . " FROM {$this->messages_table}" . " WHERE `user_id` = ?" . " AND `mailbox` = ?", $this->userid, $mailbox);
         while ($sql_arr = $this->db->fetch_assoc($sql_result)) {
             $uids[] = $sql_arr['uid'];
         }
     }
     // Synchronize messages data
     if (!empty($uids)) {
         // Get modified flags and vanished messages
         // UID FETCH 1:* (FLAGS) (CHANGEDSINCE 0123456789 VANISHED)
         $result = $this->imap->conn->fetch($mailbox, $uids, true, array('FLAGS'), $index['modseq'], $qresync);
         if (!empty($result)) {
             foreach ($result as $msg) {
                 $uid = $msg->uid;
                 // Remove deleted message
                 if ($this->skip_deleted && !empty($msg->flags['DELETED'])) {
                     $removed[] = $uid;
                     // Invalidate index
                     $index['valid'] = false;
                     continue;
                 }
                 $flags = 0;
                 if (!empty($msg->flags)) {
                     foreach ($this->flags as $idx => $flag) {
                         if (!empty($msg->flags[$flag])) {
                             $flags += $idx;
                         }
                     }
                 }
                 $this->db->query("UPDATE {$this->messages_table}" . " SET `flags` = ?, `expires` = " . ($this->ttl ? $this->db->now($this->ttl) : 'NULL') . " WHERE `user_id` = ?" . " AND `mailbox` = ?" . " AND `uid` = ?" . " AND `flags` <> ?", $flags, $this->userid, $mailbox, $uid, $flags);
             }
         }
         // VANISHED found?
         if ($qresync) {
             $mbox_data = $this->imap->folder_data($mailbox);
             // Removed messages found
//.........这里部分代码省略.........
开发者ID:JotapePinheiro,项目名称:roundcubemail,代码行数:101,代码来源:rcube_imap_cache.php


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