quoteString() public method

Quotes a string, escaping any special characters.
public quoteString ( string $string ) : string
$string string
return string
示例#1
0
 /**
  * Ensure that an array of types exist in storage. Create any that don't,
  * return type_ids for all.
  *
  * @param mixed $types  An array of types or single type value. Values typed
  *                      as an integer are assumed to already be an type_id.
  *
  * @return array  An array of type_ids.
  * @throws Content_Exception
  */
 public function ensureTypes($types)
 {
     if (!is_array($types)) {
         $types = array($types);
     }
     $typeIds = array();
     $typeName = array();
     // Anything already typed as an integer is assumed to be a type id.
     foreach ($types as $typeIndex => $type) {
         if (is_int($type)) {
             $typeIds[$typeIndex] = $type;
         } else {
             $typeName[$type] = $typeIndex;
         }
     }
     try {
         // Get the ids for any types that already exist.
         if (count($typeName)) {
             $rows = $this->_db->selectAssoc('SELECT type_id, type_name FROM ' . $this->_t('types') . ' WHERE type_name IN (' . implode(',', array_map(array($this->_db, 'quoteString'), array_keys($typeName))) . ')');
             foreach ($rows as $id => $type) {
                 $typeIndex = $typeName[$type];
                 unset($typeName[$type]);
                 $typeIds[$typeIndex] = (int) $id;
             }
         }
         // Create any types that didn't already exist
         foreach ($typeName as $type => $typeIndex) {
             $typeIds[$typeIndex] = intval($this->_db->insert('INSERT INTO ' . $this->_t('types') . ' (type_name) VALUES (' . $this->_db->quoteString($type) . ')'));
         }
     } catch (Horde_Db_Exception $e) {
         throw new Content_Exception($e);
     }
     return $typeIds;
 }
示例#2
0
文件: Manager.php 项目: Gomez/horde
 /**
  * Ensure that an array of objects exist in storage. Create any that don't,
  * return object_ids for all. All objects in the $objects array must be
  * of the same content type.
  *
  * @param mixed $objects  An array of objects (or single obejct value).
  *                        Values typed as an integer are assumed to already
  *                        be an object_id.
  * @param mixed $type     Either a string type_name or integer type_id
  *
  * @return array  An array of object_ids.
  */
 public function ensureObjects($objects, $type)
 {
     if (!is_array($objects)) {
         $objects = array($objects);
     }
     $objectIds = array();
     $objectName = array();
     $type = current($this->_typeManager->ensureTypes($type));
     // Anything already typed as an integer is assumed to be an object id.
     foreach ($objects as $objectIndex => $object) {
         if (is_int($object)) {
             $objectIds[$objectIndex] = $object;
         } else {
             $objectName[$object] = $objectIndex;
         }
     }
     // Get the ids for any objects that already exist.
     try {
         if (count($objectName)) {
             $rows = $this->_db->selectAll('SELECT object_id, object_name FROM ' . $this->_t('objects') . ' WHERE object_name IN (' . implode(',', array_map(array($this->_db, 'quoteString'), array_keys($objectName))) . ') AND type_id = ' . $type);
             foreach ($rows as $row) {
                 $objectIndex = $objectName[$row['object_name']];
                 unset($objectName[$row['object_name']]);
                 $objectIds[$objectIndex] = $row['object_id'];
             }
         }
         // Create any objects that didn't already exist
         foreach ($objectName as $object => $objectIndex) {
             $objectIds[$objectIndex] = $this->_db->insert('INSERT INTO ' . $this->_t('objects') . ' (object_name, type_id) VALUES (' . $this->_db->quoteString($object) . ', ' . $type . ')');
         }
     } catch (Horde_Db_Exception $e) {
         throw new Content_Exception($e);
     }
     return $objectIds;
 }
示例#3
0
 /**
  * Search for a textual location string from the passed in search token.
  * Used for location autocompletion.
  *
  * @param string $search  Search fragment for autocompleting location strings
  *
  * @return array  The results
  * @throws Ansel_Exception
  */
 public function searchLocations($search = '')
 {
     $sql = 'SELECT DISTINCT image_location, image_latitude, image_longitude FROM ansel_images WHERE LENGTH(image_location) > 0';
     if (strlen($search)) {
         $sql .= ' AND image_location LIKE ' . $this->_db->quoteString("{$search}%");
     }
     try {
         return $this->_db->selectAll($sql);
     } catch (Horde_Db_Exception $e) {
         throw new Ansel_Exception($e);
     }
 }
示例#4
0
文件: Text.php 项目: raz0rsdge/horde
 /**
  * @param Horde_Db_Adapter $db
  */
 public function quote(Horde_Db_Adapter $db)
 {
     return $db->quoteString($this->value);
 }
示例#5
0
文件: Tagger.php 项目: horde/horde
 public function toDriver($value)
 {
     return $this->_db->quoteString(Horde_String::convertCharset($value, 'UTF-8', $this->_db->getOption('charset')));
 }
示例#6
0
文件: SplitRead.php 项目: horde/horde
 /**
  * Quotes a string, escaping any special characters.
  *
  * @param   string  $string
  * @return  string
  */
 public function quoteString($string)
 {
     return $this->_read->quoteString($string);
 }