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


PHP PEAR::IsError方法代码示例

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


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

示例1: UnpackFiles

 /**
  * Check if input (an array of $_FILES) are .tar or .zip files, if they
  * are then these get unpacked and returns an managed as $_FILES (returning
  * an array with the same structure $_FILES uses and move pics to /tmp)
  *
  * @access  public
  * @param   array   $files   $_FILES
  * @return  array   $_FILES format
  */
 function UnpackFiles($files)
 {
     if (!is_array($files)) {
         return array();
     }
     $cleanFiles = array();
     $tmpDir = sys_get_temp_dir();
     $counter = 1;
     require_once PEAR_PATH . 'File/Archive.php';
     foreach ($files as $key => $file) {
         if (empty($file['tmp_name'])) {
             continue;
         }
         $ext = strrchr($file['name'], '.');
         switch ($ext) {
             case '.gz':
                 $ext = '.tgz';
                 break;
             case '.bz2':
             case '.bzip2':
                 $ext = '.tbz';
                 break;
         }
         $ext = strtolower(ltrim($ext, '.'));
         if (File_Archive::isKnownExtension($ext)) {
             $tmpArchiveName = $tmpDir . DIRECTORY_SEPARATOR . $file['name'];
             if (!move_uploaded_file($file['tmp_name'], $tmpArchiveName)) {
                 continue;
             }
             $reader = File_Archive::read($tmpArchiveName);
             $source = File_Archive::readArchive($ext, $reader);
             if (!PEAR::isError($source)) {
                 while ($source->next()) {
                     $destFile = $tmpDir . DIRECTORY_SEPARATOR . basename($source->getFilename());
                     $sourceFile = $tmpArchiveName . '/' . $source->getFilename();
                     $extract = File_Archive::extract($sourceFile, $tmpDir);
                     if (PEAR::IsError($extract)) {
                         continue;
                     }
                     $cleanFiles['photo' . $counter] = array('name' => basename($source->getFilename()), 'type' => $source->getMime(), 'tmp_name' => $destFile, 'size' => @filesize($destFile), 'error' => 0);
                     $counter++;
                 }
             }
         } else {
             $cleanFiles['photo' . $counter] = $file;
             $counter++;
         }
     }
     return $cleanFiles;
 }
开发者ID:Dulciane,项目名称:jaws,代码行数:59,代码来源:Upload.php

示例2: fail

function &getDB($bNew = false, $bPersistent = false)
{
    // Get the database object
    $oDB =& DB::connect(CONST_Database_DSN . ($bNew ? '?new_link=true' : ''), $bPersistent);
    if (PEAR::IsError($oDB)) {
        var_dump(CONST_Database_DSN);
        var_Dump($oDB);
        fail($oDB->getMessage());
    }
    $oDB->setFetchMode(DB_FETCHMODE_ASSOC);
    $oDB->query("SET DateStyle TO 'sql,european'");
    $oDB->query("SET client_encoding TO 'utf-8'");
    return $oDB;
}
开发者ID:acand01x,项目名称:Nominatim,代码行数:14,代码来源:db.php

示例3: failInternalError

        //var_dump($sSQL);
        $aPlace = $oDB->getRow($sSQL);
        $iPlaceID = $aPlace['place_id'];
        $iParentPlaceID = $aPlace['parent_place_id'];
        if (PEAR::IsError($iPlaceID)) {
            failInternalError("Could not determine closest place.", $sSQL, $iPlaceID);
        }
    }
    // The point we found might be too small - use the address to find what it is a child of
    if ($iPlaceID && $iMaxRank < 28) {
        if ($aPlace['rank_search'] > 28 && $iParentPlaceID) {
            $iPlaceID = $iParentPlaceID;
        }
        $sSQL = "select address_place_id from place_addressline where place_id = {$iPlaceID} order by abs(cached_rank_address - {$iMaxRank}) asc,cached_rank_address desc,isaddress desc,distance desc limit 1";
        $iPlaceID = $oDB->getOne($sSQL);
        if (PEAR::IsError($iPlaceID)) {
            failInternalError("Could not get parent for place.", $sSQL, $iPlaceID);
        }
        if (!$iPlaceID) {
            $iPlaceID = $aPlace['place_id'];
        }
    }
}
if ($iPlaceID) {
    $sSQL = "select placex.*,";
    $sSQL .= " get_address_by_language(place_id, {$sLanguagePrefArraySQL}) as langaddress,";
    $sSQL .= " get_name_by_language(name, {$sLanguagePrefArraySQL}) as placename,";
    $sSQL .= " get_name_by_language(name, ARRAY['ref']) as ref,";
    $sSQL .= " st_y(st_centroid(geometry)) as lat, st_x(st_centroid(geometry)) as lon";
    $sSQL .= " from placex where place_id = {$iPlaceID} ";
    //var_dump($sSQL);
开发者ID:acand01x,项目名称:Nominatim,代码行数:31,代码来源:reverse.php

示例4: getTableFieldDefinition

 /**
  * Get the stucture of a field into an array
  *
  * @param string    $table       name of table that should be used in method
  * @param string    $field_name  name of field that should be used in method
  * @return mixed data array on success, a MDB2 error on failure.
  *          The returned array contains an array for each field definition,
  *          with (some of) these indices:
  *          [notnull] [nativetype] [length] [fixed] [default] [type] [mdb2type]
  * @access public
  */
 function getTableFieldDefinition($table, $field_name)
 {
     $db =& $this->getDBInstance();
     if (PEAR::isError($db)) {
         return $db;
     }
     $result = $db->loadModule('Datatype', null, true);
     if (PEAR::isError($result)) {
         return $result;
     }
     $query = "SELECT sql FROM sqlite_master WHERE type='table' AND ";
     if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) {
         $query .= 'LOWER(name)=' . $db->quote(strtolower($table), 'text');
     } else {
         $query .= 'name=' . $db->quote($table, 'text');
     }
     $sql = $db->queryOne($query);
     if (PEAR::isError($sql)) {
         return $sql;
     }
     $columns = $this->_getTableColumns($sql);
     foreach ($columns as $column) {
         if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) {
             if ($db->options['field_case'] == CASE_LOWER) {
                 $column['name'] = strtolower($column['name']);
             } else {
                 $column['name'] = strtoupper($column['name']);
             }
         } else {
             $column = array_change_key_case($column, $db->options['field_case']);
         }
         if ($field_name == $column['name']) {
             $mapped_datatype = $db->datatype->mapNativeDatatype($column);
             if (PEAR::IsError($mapped_datatype)) {
                 return $mapped_datatype;
             }
             list($types, $length, $unsigned, $fixed) = $mapped_datatype;
             $notnull = false;
             if (!empty($column['notnull'])) {
                 $notnull = $column['notnull'];
             }
             $default = false;
             if (array_key_exists('default', $column)) {
                 $default = $column['default'];
                 if (is_null($default) && $notnull) {
                     $default = '';
                 }
             }
             $autoincrement = false;
             if (!empty($column['autoincrement'])) {
                 $autoincrement = true;
             }
             $definition[0] = array('notnull' => $notnull, 'nativetype' => preg_replace('/^([a-z]+)[^a-z].*/i', '\\1', $column['type']));
             if (!is_null($length)) {
                 $definition[0]['length'] = $length;
             }
             if (!is_null($unsigned)) {
                 $definition[0]['unsigned'] = $unsigned;
             }
             if (!is_null($fixed)) {
                 $definition[0]['fixed'] = $fixed;
             }
             if ($default !== false) {
                 $definition[0]['default'] = $default;
             }
             if ($autoincrement !== false) {
                 $definition[0]['autoincrement'] = $autoincrement;
             }
             foreach ($types as $key => $type) {
                 $definition[$key] = $definition[0];
                 if ($type == 'clob' || $type == 'blob') {
                     unset($definition[$key]['default']);
                 }
                 $definition[$key]['type'] = $type;
                 $definition[$key]['mdb2type'] = $type;
             }
             return $definition;
         }
     }
     return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, 'it was not specified an existing table column', __FUNCTION__);
 }
开发者ID:esquarenews,项目名称:MortgageBlog,代码行数:92,代码来源:sqlite.php

示例5: getAddressDetails

 function getAddressDetails($bAll = false)
 {
     if (!$this->iPlaceID) {
         return null;
     }
     $sLanguagePrefArraySQL = "ARRAY[" . join(',', array_map("getDBQuoted", $this->aLangPrefOrder)) . "]";
     $sSQL = "select *,get_name_by_language(name,{$sLanguagePrefArraySQL}) as localname from get_addressdata(" . $this->iPlaceID . ")";
     if (!$bAll) {
         $sSQL .= " WHERE isaddress OR type = 'country_code'";
     }
     $sSQL .= " order by rank_address desc,isaddress desc";
     $aAddressLines = $this->oDB->getAll($sSQL);
     if (PEAR::IsError($aAddressLines)) {
         var_dump($aAddressLines);
         exit;
     }
     return $aAddressLines;
 }
开发者ID:a4x,项目名称:Nominatim,代码行数:18,代码来源:PlaceLookup.php

示例6: getClassTypesWithImportance

$iZoom = 14;
$aClassType = getClassTypesWithImportance();
$aPointDetails['icon'] = $aClassType[$aPointDetails['class'] . ':' . $aPointDetails['type']]['icon'];
// Get all alternative names (languages, etc)
$sSQL = "select (each(name)).key,(each(name)).value from placex where place_id = {$iPlaceID} order by (each(name)).key";
$aPointDetails['aNames'] = $oDB->getAssoc($sSQL);
// Extra tags
$sSQL = "select (each(extratags)).key,(each(extratags)).value from placex where place_id = {$iPlaceID} order by (each(extratags)).key";
$aPointDetails['aExtraTags'] = $oDB->getAssoc($sSQL);
// Get the bounding box and outline polygon
$sSQL = "select ST_AsText(geometry) as outlinestring,";
$sSQL .= "ST_YMin(geometry) as minlat,ST_YMax(geometry) as maxlat,";
$sSQL .= "ST_XMin(geometry) as minlon,ST_XMax(geometry) as maxlon";
$sSQL .= " from placex where place_id = {$iPlaceID}";
$aPointPolygon = $oDB->getRow($sSQL);
if (PEAR::IsError($aPointPolygon)) {
    failInternalError("Could not get bounding box of place object.", $sSQL, $aPointPolygon);
}
if (preg_match('#POLYGON\\(\\(([- 0-9.,]+)#', $aPointPolygon['outlinestring'], $aMatch)) {
    preg_match_all('/(-?[0-9.]+) (-?[0-9.]+)/', $aMatch[1], $aPolyPoints, PREG_SET_ORDER);
} elseif (preg_match('#MULTIPOLYGON\\(\\(\\(([- 0-9.,]+)#', $aPointPolygon['outlinestring'], $aMatch)) {
    // TODO: this just takes the first ring
    preg_match_all('/(-?[0-9.]+) (-?[0-9.]+)/', $aMatch[1], $aPolyPoints, PREG_SET_ORDER);
} elseif (preg_match('#POINT\\((-?[0-9.]+) (-?[0-9.]+)\\)#', $aPointPolygon['outlinestring'], $aMatch)) {
    $fRadius = 0.01;
    if ($aPointDetails['rank_search'] > 20) {
        $fRadius = 0.0001;
    }
    $iSteps = min(max($fRadius * 40000 ^ 2, 16), 100);
    $fStepSize = 2 * pi() / $iSteps;
    $aPolyPoints = array();
开发者ID:acand01x,项目名称:Nominatim,代码行数:31,代码来源:details.php

示例7: getTableFieldDefinition

 /**
  * Get the structure of a field into an array
  *
  * @param string    $table       name of table that should be used in method
  * @param string    $field_name  name of field that should be used in method
  * @return mixed data array on success, a MDB2 error on failure
  * @access public
  */
 function getTableFieldDefinition($table, $field_name)
 {
     $db =& $this->getDBInstance();
     if (PEAR::isError($db)) {
         return $db;
     }
     $result = $db->loadModule('Datatype', null, true);
     if (PEAR::isError($result)) {
         return $result;
     }
     $query = "SELECT a.attname AS name,\r\n                         t.typname AS type,\r\n                         CASE a.attlen\r\n                           WHEN -1 THEN\r\n\t                         CASE t.typname\r\n\t                           WHEN 'numeric' THEN (a.atttypmod / 65536)\r\n\t                           WHEN 'decimal' THEN (a.atttypmod / 65536)\r\n\t                           WHEN 'money'   THEN (a.atttypmod / 65536)\r\n\t                           ELSE CASE a.atttypmod\r\n                                 WHEN -1 THEN NULL\r\n\t                             ELSE a.atttypmod - 4\r\n\t                           END\r\n                             END\r\n\t                       ELSE a.attlen\r\n                         END AS length,\r\n\t                     CASE t.typname\r\n\t                       WHEN 'numeric' THEN (a.atttypmod % 65536) - 4\r\n\t                       WHEN 'decimal' THEN (a.atttypmod % 65536) - 4\r\n\t                       WHEN 'money'   THEN (a.atttypmod % 65536) - 4\r\n\t                       ELSE 0\r\n                         END AS scale,\r\n                         a.attnotnull,\r\n                         a.atttypmod,\r\n                         a.atthasdef,\r\n                         (SELECT substring(pg_get_expr(d.adbin, d.adrelid) for 128)\r\n                            FROM pg_attrdef d\r\n                           WHERE d.adrelid = a.attrelid\r\n                             AND d.adnum = a.attnum\r\n                             AND a.atthasdef\r\n                         ) as default\r\n                    FROM pg_attribute a,\r\n                         pg_class c,\r\n                         pg_type t\r\n                   WHERE c.relname = " . $db->quote($table, 'text') . "\r\n                     AND a.atttypid = t.oid\r\n                     AND c.oid = a.attrelid\r\n                     AND NOT a.attisdropped\r\n                     AND a.attnum > 0\r\n                     AND a.attname = " . $db->quote($field_name, 'text') . "\r\n                ORDER BY a.attnum";
     $column = $db->queryRow($query, null, MDB2_FETCHMODE_ASSOC);
     if (PEAR::isError($column)) {
         return $column;
     }
     if (empty($column)) {
         return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, 'it was not specified an existing table column', __FUNCTION__);
     }
     $column = array_change_key_case($column, CASE_LOWER);
     $mapped_datatype = $db->datatype->mapNativeDatatype($column);
     if (PEAR::IsError($mapped_datatype)) {
         return $mapped_datatype;
     }
     list($types, $length, $unsigned, $fixed) = $mapped_datatype;
     $notnull = false;
     if (!empty($column['attnotnull']) && $column['attnotnull'] == 't') {
         $notnull = true;
     }
     $default = null;
     if ($column['atthasdef'] === 't' && !preg_match("/nextval\\('([^']+)'/", $column['default'])) {
         $default = $column['default'];
         #substr($column['adsrc'], 1, -1);
         if (is_null($default) && $notnull) {
             $default = '';
         }
     }
     $autoincrement = false;
     if (preg_match("/nextval\\('([^']+)'/", $column['default'], $nextvals)) {
         $autoincrement = true;
     }
     $definition[0] = array('notnull' => $notnull, 'nativetype' => $column['type']);
     if (!is_null($length)) {
         $definition[0]['length'] = $length;
     }
     if (!is_null($unsigned)) {
         $definition[0]['unsigned'] = $unsigned;
     }
     if (!is_null($fixed)) {
         $definition[0]['fixed'] = $fixed;
     }
     if ($default !== false) {
         $definition[0]['default'] = $default;
     }
     if ($autoincrement !== false) {
         $definition[0]['autoincrement'] = $autoincrement;
     }
     foreach ($types as $key => $type) {
         $definition[$key] = $definition[0];
         if ($type == 'clob' || $type == 'blob') {
             unset($definition[$key]['default']);
         }
         $definition[$key]['type'] = $type;
         $definition[$key]['mdb2type'] = $type;
     }
     return $definition;
 }
开发者ID:Mayoh,项目名称:grupo-ha,代码行数:74,代码来源:pgsql.php

示例8: getTableFieldDefinition

 /**
  * Get the structure of a field into an array
  *
  * @param string    $table       name of table that should be used in method
  * @param string    $field_name  name of field that should be used in method
  * @return mixed data array on success, a MDB2 error on failure
  * @access public
  */
 function getTableFieldDefinition($table, $field_name)
 {
     $db =& $this->getDBInstance();
     if (PEAR::isError($db)) {
         return $db;
     }
     $result = $db->loadModule('Datatype', null, true);
     if (PEAR::isError($result)) {
         return $result;
     }
     $table = $db->quoteIdentifier($table, true);
     $query = "SHOW COLUMNS FROM {$table} LIKE " . $db->quote($field_name);
     $columns = $db->queryAll($query, null, MDB2_FETCHMODE_ASSOC);
     if (PEAR::isError($columns)) {
         return $columns;
     }
     foreach ($columns as $column) {
         $column = array_change_key_case($column, CASE_LOWER);
         $column['name'] = $column['field'];
         unset($column['field']);
         if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) {
             if ($db->options['field_case'] == CASE_LOWER) {
                 $column['name'] = strtolower($column['name']);
             } else {
                 $column['name'] = strtoupper($column['name']);
             }
         } else {
             $column = array_change_key_case($column, $db->options['field_case']);
         }
         if ($field_name == $column['name']) {
             $mapped_datatype = $db->datatype->mapNativeDatatype($column);
             if (PEAR::IsError($mapped_datatype)) {
                 return $mapped_datatype;
             }
             list($types, $length, $unsigned, $fixed) = $mapped_datatype;
             $notnull = false;
             if (empty($column['null']) || $column['null'] !== 'YES') {
                 $notnull = true;
             }
             $default = false;
             if (array_key_exists('default', $column)) {
                 $default = $column['default'];
                 if (is_null($default) && $notnull) {
                     $default = '';
                 }
             }
             $autoincrement = false;
             if (!empty($column['extra']) && $column['extra'] == 'auto_increment') {
                 $autoincrement = true;
             }
             $definition[0] = array('notnull' => $notnull, 'nativetype' => preg_replace('/^([a-z]+)[^a-z].*/i', '\\1', $column['type']));
             if (!is_null($length)) {
                 $definition[0]['length'] = $length;
             }
             if (!is_null($unsigned)) {
                 $definition[0]['unsigned'] = $unsigned;
             }
             if (!is_null($fixed)) {
                 $definition[0]['fixed'] = $fixed;
             }
             if ($default !== false) {
                 $definition[0]['default'] = $default;
             }
             if ($autoincrement !== false) {
                 $definition[0]['autoincrement'] = $autoincrement;
             }
             foreach ($types as $key => $type) {
                 $definition[$key] = $definition[0];
                 if ($type == 'clob' || $type == 'blob') {
                     unset($definition[$key]['default']);
                 }
                 $definition[$key]['type'] = $type;
                 $definition[$key]['mdb2type'] = $type;
             }
             return $definition;
         }
     }
     return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, 'it was not specified an existing table column', __FUNCTION__);
 }
开发者ID:khadem,项目名称:delphi-museum-project,代码行数:87,代码来源:mysql.php

示例9: getTableFieldDefinition

 /**
  * Get the structure of a field into an array
  *
  * @param string    $table       name of table that should be used in method
  * @param string    $field_name  name of field that should be used in method
  * @return mixed data array on success, a MDB2 error on failure
  * @access public
  */
 function getTableFieldDefinition($table, $field_name)
 {
     $db =& $this->getDBInstance();
     if (PEAR::isError($db)) {
         return $db;
     }
     $result = $db->loadModule('Datatype', null, true);
     if (PEAR::isError($result)) {
         return $result;
     }
     $table = $db->quoteIdentifier($table, true);
     $fldname = $db->quoteIdentifier($field_name, true);
     $query = "SELECT t.table_name,\n                         c.column_name 'name',\n                         c.data_type 'type',\n                         CASE c.is_nullable WHEN 'YES' THEN 1 ELSE 0 END AS 'is_nullable',\n                \t\t c.column_default,\n                \t\t c.character_maximum_length 'length',\n                         c.numeric_precision,\n                         c.numeric_scale,\n                         c.character_set_name,\n                         c.collation_name\n                    FROM INFORMATION_SCHEMA.TABLES t,\n                         INFORMATION_SCHEMA.COLUMNS c\n                   WHERE t.table_name = c.table_name\n                     AND t.table_name = '{$table}'\n                     AND c.column_name = '{$fldname}'\n                ORDER BY t.table_name";
     $column = $db->queryRow($query, null, MDB2_FETCHMODE_ASSOC);
     if (PEAR::isError($column)) {
         return $column;
     }
     if (empty($column)) {
         return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, 'it was not specified an existing table column', __FUNCTION__);
     }
     if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) {
         if ($db->options['field_case'] == CASE_LOWER) {
             $column['name'] = strtolower($column['name']);
         } else {
             $column['name'] = strtoupper($column['name']);
         }
     } else {
         $column = array_change_key_case($column, $db->options['field_case']);
     }
     $mapped_datatype = $db->datatype->mapNativeDatatype($column);
     if (PEAR::IsError($mapped_datatype)) {
         return $mapped_datatype;
     }
     list($types, $length, $unsigned, $fixed) = $mapped_datatype;
     $notnull = true;
     if ($column['is_nullable']) {
         $notnull = false;
     }
     $default = false;
     if (array_key_exists('column_default', $column)) {
         $default = $column['column_default'];
         if (is_null($default) && $notnull) {
             $default = '';
         } elseif (strlen($default) > 4 && substr($default, 0, 1) == '(' && substr($default, -1, 1) == ')') {
             //mssql wraps the default value in parentheses: "((1234))", "(NULL)"
             $default = trim($default, '()');
             if ($default == 'NULL') {
                 $default = null;
             }
         }
     }
     $definition[0] = array('notnull' => $notnull, 'nativetype' => preg_replace('/^([a-z]+)[^a-z].*/i', '\\1', $column['type']));
     if (!is_null($length)) {
         $definition[0]['length'] = $length;
     }
     if (!is_null($unsigned)) {
         $definition[0]['unsigned'] = $unsigned;
     }
     if (!is_null($fixed)) {
         $definition[0]['fixed'] = $fixed;
     }
     if ($default !== false) {
         $definition[0]['default'] = $default;
     }
     foreach ($types as $key => $type) {
         $definition[$key] = $definition[0];
         if ($type == 'clob' || $type == 'blob') {
             unset($definition[$key]['default']);
         }
         $definition[$key]['type'] = $type;
         $definition[$key]['mdb2type'] = $type;
     }
     return $definition;
 }
开发者ID:ajisantoso,项目名称:kateglo,代码行数:82,代码来源:mssql.php

示例10: getTableFieldDefinition

 /**
  * Get the structure of a field into an array
  *
  * @param string    $table       name of table that should be used in method
  * @param string    $field_name  name of field that should be used in method
  * @return mixed data array on success, a MDB2 error on failure
  * @access public
  */
 function getTableFieldDefinition($table, $field_name)
 {
     $db =& $this->getDBInstance();
     if (PEAR::isError($db)) {
         return $db;
     }
     $result = $db->loadModule('Datatype', null, true);
     if (PEAR::isError($result)) {
         return $result;
     }
     $table = $db->quote(strtoupper($table), 'text');
     $field_name = $db->quote(strtoupper($field_name), 'text');
     $query = "SELECT RDB\$RELATION_FIELDS.RDB\$FIELD_NAME AS name,\n                         RDB\$FIELDS.RDB\$FIELD_LENGTH AS \"length\",\n                         RDB\$FIELDS.RDB\$FIELD_PRECISION AS \"precision\",\n                         (RDB\$FIELDS.RDB\$FIELD_SCALE * -1) AS \"scale\",\n                         RDB\$FIELDS.RDB\$FIELD_TYPE AS field_type_code,\n                         RDB\$FIELDS.RDB\$FIELD_SUB_TYPE AS field_sub_type_code,\n                         RDB\$RELATION_FIELDS.RDB\$DESCRIPTION AS description,\n                         RDB\$RELATION_FIELDS.RDB\$NULL_FLAG AS null_flag,\n                         RDB\$FIELDS.RDB\$DEFAULT_SOURCE AS default_source\n                    FROM RDB\$FIELDS\n               LEFT JOIN RDB\$RELATION_FIELDS ON RDB\$FIELDS.RDB\$FIELD_NAME = RDB\$RELATION_FIELDS.RDB\$FIELD_SOURCE\n                   WHERE UPPER(RDB\$RELATION_FIELDS.RDB\$RELATION_NAME)={$table}\n                     AND UPPER(RDB\$RELATION_FIELDS.RDB\$FIELD_NAME)={$field_name};";
     $column = $db->queryRow($query, null, MDB2_FETCHMODE_ASSOC);
     if (PEAR::isError($column)) {
         return $column;
     }
     if (empty($column)) {
         return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, 'it was not specified an existing table column', __FUNCTION__);
     }
     $column = array_change_key_case($column, CASE_LOWER);
     if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) {
         if ($db->options['field_case'] == CASE_LOWER) {
             $column['name'] = strtolower($column['name']);
         } else {
             $column['name'] = strtoupper($column['name']);
         }
     }
     $column['type'] = array_key_exists((int) $column['field_type_code'], $this->types) ? $this->types[(int) $column['field_type_code']] : 'undefined';
     if ($column['field_sub_type_code'] && array_key_exists((int) $column['field_type_code'], $this->subtypes) && array_key_exists($column['field_sub_type_code'], $this->subtypes[(int) $column['field_type_code']])) {
         $column['field_sub_type'] = $this->subtypes[(int) $column['field_type_code']][$column['field_sub_type_code']];
     } else {
         $column['field_sub_type'] = null;
     }
     $mapped_datatype = $db->datatype->mapNativeDatatype($column);
     if (PEAR::IsError($mapped_datatype)) {
         return $mapped_datatype;
     }
     list($types, $length, $unsigned, $fixed) = $mapped_datatype;
     $notnull = !empty($column['null_flag']);
     $default = $column['default_source'];
     if (is_null($default) && $notnull) {
         $default = $types[0] == 'integer' ? 0 : '';
     }
     $definition[0] = array('notnull' => $notnull, 'nativetype' => $column['type']);
     if (!is_null($length)) {
         $definition[0]['length'] = $length;
     }
     if (!is_null($unsigned)) {
         $definition[0]['unsigned'] = $unsigned;
     }
     if (!is_null($fixed)) {
         $definition[0]['fixed'] = $fixed;
     }
     if ($default !== false) {
         $definition[0]['default'] = $default;
     }
     foreach ($types as $key => $type) {
         $definition[$key] = $definition[0];
         if ($type == 'clob' || $type == 'blob') {
             unset($definition[$key]['default']);
         }
         $definition[$key]['type'] = $type;
         $definition[$key]['mdb2type'] = $type;
     }
     return $definition;
 }
开发者ID:Rudi9719,项目名称:lucid,代码行数:75,代码来源:ibase.php

示例11: getOutlines

 function getOutlines($iPlaceID, $fLon = null, $fLat = null, $fRadius = null)
 {
     $aOutlineResult = array();
     if (!$iPlaceID) {
         return $aOutlineResult;
     }
     if (CONST_Search_AreaPolygons) {
         // Get the bounding box and outline polygon
         $sSQL = "select place_id,0 as numfeatures,st_area(geometry) as area,";
         $sSQL .= "ST_Y(centroid) as centrelat,ST_X(centroid) as centrelon,";
         $sSQL .= "ST_YMin(geometry) as minlat,ST_YMax(geometry) as maxlat,";
         $sSQL .= "ST_XMin(geometry) as minlon,ST_XMax(geometry) as maxlon";
         if ($this->bIncludePolygonAsGeoJSON) {
             $sSQL .= ",ST_AsGeoJSON(geometry) as asgeojson";
         }
         if ($this->bIncludePolygonAsKML) {
             $sSQL .= ",ST_AsKML(geometry) as askml";
         }
         if ($this->bIncludePolygonAsSVG) {
             $sSQL .= ",ST_AsSVG(geometry) as assvg";
         }
         if ($this->bIncludePolygonAsText || $this->bIncludePolygonAsPoints) {
             $sSQL .= ",ST_AsText(geometry) as astext";
         }
         $sFrom = " from placex where place_id = " . $iPlaceID;
         if ($this->fPolygonSimplificationThreshold > 0) {
             $sSQL .= " from (select place_id,centroid,ST_SimplifyPreserveTopology(geometry," . $this->fPolygonSimplificationThreshold . ") as geometry" . $sFrom . ") as plx";
         } else {
             $sSQL .= $sFrom;
         }
         $aPointPolygon = $this->oDB->getRow($sSQL);
         if (PEAR::IsError($aPointPolygon)) {
             echo var_dump($aPointPolygon);
             failInternalError("Could not get outline.", $sSQL, $aPointPolygon);
         }
         if ($aPointPolygon['place_id']) {
             if ($aPointPolygon['centrelon'] !== null && $aPointPolygon['centrelat'] !== null) {
                 $aOutlineResult['lat'] = $aPointPolygon['centrelat'];
                 $aOutlineResult['lon'] = $aPointPolygon['centrelon'];
             }
             if ($this->bIncludePolygonAsGeoJSON) {
                 $aOutlineResult['asgeojson'] = $aPointPolygon['asgeojson'];
             }
             if ($this->bIncludePolygonAsKML) {
                 $aOutlineResult['askml'] = $aPointPolygon['askml'];
             }
             if ($this->bIncludePolygonAsSVG) {
                 $aOutlineResult['assvg'] = $aPointPolygon['assvg'];
             }
             if ($this->bIncludePolygonAsText) {
                 $aOutlineResult['astext'] = $aPointPolygon['astext'];
             }
             if ($this->bIncludePolygonAsPoints) {
                 $aOutlineResult['aPolyPoints'] = geometryText2Points($aPointPolygon['astext'], $fRadius);
             }
             if (abs($aPointPolygon['minlat'] - $aPointPolygon['maxlat']) < 1.0E-7) {
                 $aPointPolygon['minlat'] = $aPointPolygon['minlat'] - $fRadius;
                 $aPointPolygon['maxlat'] = $aPointPolygon['maxlat'] + $fRadius;
             }
             if (abs($aPointPolygon['minlon'] - $aPointPolygon['maxlon']) < 1.0E-7) {
                 $aPointPolygon['minlon'] = $aPointPolygon['minlon'] - $fRadius;
                 $aPointPolygon['maxlon'] = $aPointPolygon['maxlon'] + $fRadius;
             }
             $aOutlineResult['aBoundingBox'] = array((string) $aPointPolygon['minlat'], (string) $aPointPolygon['maxlat'], (string) $aPointPolygon['minlon'], (string) $aPointPolygon['maxlon']);
         }
     }
     // CONST_Search_AreaPolygons
     // as a fallback we generate a bounding box without knowing the size of the geometry
     if (!isset($aOutlineResult['aBoundingBox']) && isset($fLon)) {
         if ($this->bIncludePolygonAsPoints) {
             $sGeometryText = 'POINT(' . $fLon . ',' . $fLat . ')';
             $aOutlineResult['aPolyPoints'] = geometryText2Points($sGeometryText, $fRadius);
         }
         $aBounds = array();
         $aBounds['minlat'] = $fLat - $fRadius;
         $aBounds['maxlat'] = $fLat + $fRadius;
         $aBounds['minlon'] = $fLon - $fRadius;
         $aBounds['maxlon'] = $fLon + $fRadius;
         $aOutlineResult['aBoundingBox'] = array((string) $aBounds['minlat'], (string) $aBounds['maxlat'], (string) $aBounds['minlon'], (string) $aBounds['maxlon']);
     }
     return $aOutlineResult;
 }
开发者ID:physycom,项目名称:Nominatim,代码行数:82,代码来源:PlaceLookup.php

示例12: array

#   http://pear.php.net/manual/en/package.mail.mail-mime.php
##---------------------------------------------------
## OBSERVAÇÃO: Caso deseje um exemplo de como enviar arquivos em anexo,
##             gere um script com "Formato do e-mail" igual a "HTML".
# Faz o include do PEAR Mail.
include "Mail.php";
# E-mail de destino. Caso seja mais de um destino, crie um array de e-mails.
# *OBRIGATÓRIO*
$recipients = 'contato@funcionalstudio.com.br';
# Cabeçalho do e-mail.
$headers = array('From' => 'contato@funcionalstudio.com.br', 'To' => 'contato@funcionalstudio.com.br', 'Subject' => $motivo, 'Date' => date('r'), 'Reply-To' => $email);
# Utilize esta opção caso deseje definir o e-mail de resposta
# $headers['Reply-To'] = 'EMailDeResposta@DominioDeResposta.com';
# Utilize esta opção caso deseje definir o e-mail de retorno em caso de erro de envio
# $headers['Errors-To'] = 'EMailDeRerornoDeERRO@DominioDeretornoDeErro.com';
# Utilize esta opção caso deseje definir a prioridade do e-mail
# $headers['X-Priority'] = '3'; # 1 UrgentMessage, 3 Normal
# Corpo da Mensagem
$body = $txt;
# Parâmetros para o SMTP. *OBRIGATÓRIO*
$params = array('auth' => true, 'host' => 'smtp.funcionalstudio.com.br', 'username' => 'contato=funcionalstudio.com.br', 'password' => 'contato5535');
# Define o método de envio! queremos 'smtp'. *OBRIGATÓRIO*
$mail_object =& Mail::factory('smtp', $params);
# Envia o email. Se não ocorrer erro, retorna TRUE caso contrário, retorna um
# objeto PEAR_Error. Para ler a mensagem de erro, use o método 'getMessage()'.
$result = $mail_object->send($recipients, $headers, $body);
if (PEAR::IsError($result)) {
    echo "<script>alert('Erro ao enviar o e-mail. Tente novamente por favor.');window.location.href='http://'+window.location.hostname+'/contato.html';</script>";
} else {
    echo "<script>alert('E-mail enviado com sucesso!');window.location.href='http://'+window.location.hostname+'/contato.html';</script>";
}
开发者ID:pabloferreiradias,项目名称:Funcional,代码行数:31,代码来源:mail.php

示例13: lookup

 function lookup()
 {
     $sPointSQL = 'ST_SetSRID(ST_Point(' . $this->fLon . ',' . $this->fLat . '),4326)';
     $iMaxRank = $this->iMaxRank;
     $iMaxRank_orig = $this->iMaxRank;
     // Find the nearest point
     $fSearchDiam = 0.0004;
     $iPlaceID = null;
     $aArea = false;
     $fMaxAreaDistance = 1;
     $bIsInUnitedStates = false;
     $bPlaceIsTiger = false;
     while (!$iPlaceID && $fSearchDiam < $fMaxAreaDistance) {
         $fSearchDiam = $fSearchDiam * 2;
         // If we have to expand the search area by a large amount then we need a larger feature
         // then there is a limit to how small the feature should be
         if ($fSearchDiam > 2 && $iMaxRank > 4) {
             $iMaxRank = 4;
         }
         if ($fSearchDiam > 1 && $iMaxRank > 9) {
             $iMaxRank = 8;
         }
         if ($fSearchDiam > 0.8 && $iMaxRank > 10) {
             $iMaxRank = 10;
         }
         if ($fSearchDiam > 0.6 && $iMaxRank > 12) {
             $iMaxRank = 12;
         }
         if ($fSearchDiam > 0.2 && $iMaxRank > 17) {
             $iMaxRank = 17;
         }
         if ($fSearchDiam > 0.1 && $iMaxRank > 18) {
             $iMaxRank = 18;
         }
         if ($fSearchDiam > 0.008 && $iMaxRank > 22) {
             $iMaxRank = 22;
         }
         if ($fSearchDiam > 0.001 && $iMaxRank > 26) {
             $iMaxRank = 26;
         }
         $sSQL = 'select place_id,parent_place_id,rank_search,calculated_country_code from placex';
         $sSQL .= ' WHERE ST_DWithin(' . $sPointSQL . ', geometry, ' . $fSearchDiam . ')';
         $sSQL .= ' and rank_search != 28 and rank_search >= ' . $iMaxRank;
         $sSQL .= ' and (name is not null or housenumber is not null)';
         $sSQL .= ' and class not in (\'waterway\',\'railway\',\'tunnel\',\'bridge\',\'man_made\')';
         $sSQL .= ' and indexed_status = 0 ';
         $sSQL .= ' and (ST_GeometryType(geometry) not in (\'ST_Polygon\',\'ST_MultiPolygon\') ';
         $sSQL .= ' OR ST_DWithin(' . $sPointSQL . ', centroid, ' . $fSearchDiam . '))';
         $sSQL .= ' ORDER BY ST_distance(' . $sPointSQL . ', geometry) ASC limit 1';
         if (CONST_Debug) {
             var_dump($sSQL);
         }
         $aPlace = $this->oDB->getRow($sSQL);
         if (PEAR::IsError($aPlace)) {
             failInternalError("Could not determine closest place.", $sSQL, $aPlace);
         }
         $iPlaceID = $aPlace['place_id'];
         $iParentPlaceID = $aPlace['parent_place_id'];
         $bIsInUnitedStates = $aPlace['calculated_country_code'] == 'us';
     }
     // Only street found? If it's in the US we can check TIGER data for nearest housenumber
     if ($bIsInUnitedStates && $iMaxRank_orig >= 28 && $iPlaceID && ($aPlace['rank_search'] == 26 || $aPlace['rank_search'] == 27)) {
         $fSearchDiam = 0.001;
         $sSQL = 'SELECT place_id,parent_place_id,30 as rank_search ';
         if (CONST_Debug) {
             $sSQL .= ', housenumber, ST_distance(' . $sPointSQL . ', centroid) as distance, st_y(centroid) as lat, st_x(centroid) as lon';
         }
         $sSQL .= ' FROM location_property_tiger WHERE parent_place_id = ' . $iPlaceID;
         $sSQL .= ' AND ST_DWithin(' . $sPointSQL . ', centroid, ' . $fSearchDiam . ')';
         $sSQL .= ' ORDER BY ST_distance(' . $sPointSQL . ', centroid) ASC limit 1';
         // print all house numbers in the parent (street)
         if (CONST_Debug) {
             $sSQL = preg_replace('/limit 1/', 'limit 100', $sSQL);
             var_dump($sSQL);
             $aAllHouses = $this->oDB->getAll($sSQL);
             foreach ($aAllHouses as $i) {
                 echo $i['housenumber'] . ' | ' . $i['distance'] * 1000 . ' | ' . $i['lat'] . ' | ' . $i['lon'] . ' | ' . "<br>\n";
             }
         }
         $aPlaceTiger = $this->oDB->getRow($sSQL);
         if (PEAR::IsError($aPlace)) {
             failInternalError("Could not determine closest Tiger place.", $sSQL, $aPlaceTiger);
         }
         if ($aPlaceTiger) {
             if (CONST_Debug) {
                 var_dump('found Tiger place', $aPlaceTiger);
             }
             $bPlaceIsTiger = true;
             $aPlace = $aPlaceTiger;
             $iPlaceID = $aPlaceTiger['place_id'];
             $iParentPlaceID = $aPlaceTiger['parent_place_id'];
             // the street
         }
     }
     // The point we found might be too small - use the address to find what it is a child of
     if ($iPlaceID && $iMaxRank < 28) {
         if ($aPlace['rank_search'] > 28 && $iParentPlaceID && !$bPlaceIsTiger) {
             $iPlaceID = $iParentPlaceID;
         }
         $sSQL = "select address_place_id from place_addressline where place_id = {$iPlaceID} order by abs(cached_rank_address - {$iMaxRank}) asc,cached_rank_address desc,isaddress desc,distance desc limit 1";
//.........这里部分代码省略.........
开发者ID:leforestier,项目名称:Nominatim,代码行数:101,代码来源:ReverseGeocode.php

示例14: send

	/**
	 * send()
	 *
	 * Method to send the prepared email, the prepare method
	 * must be called prior to calling this function.
	 *
	 * %attachments must be an associative array with the
	 * following stucture.
	 * $attachments['data'] = The actual attachment data
	 * $attachments['name'] = The filename of the attachment
	 * $attachments['type'] = The mime content type, defaults to application/octet-stream
	 * $attachments['encoding'] = The type of encoding to be used, defaults to base64
	 *
	 * $headers must be an associative array with the
	 * key being the header name like so.
	 * $header['Reply-To'] = "someone@somewhere.com"
	 *
	 * If you include values for Subject or From in the $headers
	 * array they will be used instead of the respective values
	 * from the prepared notification
	 *
	 * @param array $attachments Array of items to attach
	 * @param array $headers Array of additonal headers to be included
	 * @return boolean TRUE on success, FALSE on error. See getLastError() for the reason
	 */
	function send($attachments = NULL, $headers = NULL){

		if($this->active == 'N'){
			$this->error = "Notification::send(): Skipping inactive message!";
			return TRUE;
		}

		if(empty($this->prepared_body) || empty($this->prepared_addresses)){
			$this->error = "Notification::send(): Skipping message with empty body or addresses!";
			var_dump($this);
			var_dump($this->parameters);
			return FALSE;
		}

		if($headers != NULL && !is_array($headers)){
			$this->error = "Notification::send(): Invalid headers provided!";
			return FALSE;
		}else{
			$found_from = FALSE;
			$found_subject = FALSE;
			foreach($headers as $header => $value){
				if(strtolower($header) == "from")
					$found_from = TRUE;
				elseif(strtolower($header) == "subject")
					$found_subject = TRUE;
			}
			if(!$found_from)
				$headers['From'] = $this->prepared_from;
			if(!$found_subject)
				$headers['Subject'] = $this->prepared_subject;
		}

		$mime = new Mail_mime();
		$mime->setTXTBody($this->prepared_body);

		if(is_array($attachments) && count($attachments) > 0){
			foreach($attachments as $attach){
				if(empty($attach['data']) || empty($attach['name'])){
					$this->error = "Notification::send(): Invalid attachment!";
					return FALSE;
				}
				if(!isset($attach['type'])) $attach['type'] = 'application/octet-stream';
				if(!isset($attach['encoding'])) $attach['encoding'] = 'base64';
				$result = $mime->addAttachment($attach['data'], $attach['type'], $attach['name'], FALSE, $attach['encoding']);
				if(PEAR::IsError($result)){
					$this->error = "Notification::send(): Error adding attachment: ".$result->getMessage();
					return FALSE;
				}
			}
		}

		$message = $mime->get();
		$headers = $mime->headers($headers);
		$mailer = Mail::factory('mail');
		$result = $mailer->send($this->prepared_addresses, $headers, $message);
		if(PEAR::IsError($result)){
			$this->error = "Notification::send(): Error sending message: ".$result->getMessage();
			return FALSE;
		}

		return TRUE;
	}
开发者ID:nanoprime,项目名称:sureinvoice,代码行数:87,代码来源:Notification.php

示例15: getTableFieldDefinition

 /**
  * Get the structure of a field into an array
  *
  * @param string    $table       name of table that should be used in method
  * @param string    $field_name  name of field that should be used in method
  * @return mixed data array on success, a MDB2 error on failure
  * @access public
  */
 function getTableFieldDefinition($table, $field_name)
 {
     $db =& $this->getDBInstance();
     if (PEAR::isError($db)) {
         return $db;
     }
     $result = $db->loadModule('Datatype', null, true);
     if (PEAR::isError($result)) {
         return $result;
     }
     $query = 'SELECT column_name name, data_type "type", nullable, data_default "default"';
     $query .= ', COALESCE(data_precision, data_length) "length", data_scale "scale"';
     $query .= ' FROM user_tab_columns';
     $query .= ' WHERE (table_name=' . $db->quote($table, 'text') . ' OR table_name=' . $db->quote(strtoupper($table), 'text') . ')';
     $query .= ' AND (column_name=' . $db->quote($field_name, 'text') . ' OR column_name=' . $db->quote(strtoupper($field_name), 'text') . ')';
     $query .= ' ORDER BY column_id';
     $column = $db->queryRow($query, null, MDB2_FETCHMODE_ASSOC);
     if (PEAR::isError($column)) {
         return $column;
     }
     if (empty($column)) {
         return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, 'it was not specified an existing table column', __FUNCTION__);
     }
     $column = array_change_key_case($column, CASE_LOWER);
     if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) {
         if ($db->options['field_case'] == CASE_LOWER) {
             $column['name'] = strtolower($column['name']);
         } else {
             $column['name'] = strtoupper($column['name']);
         }
     }
     $mapped_datatype = $db->datatype->mapNativeDatatype($column);
     if (PEAR::IsError($mapped_datatype)) {
         return $mapped_datatype;
     }
     list($types, $length, $unsigned, $fixed) = $mapped_datatype;
     $notnull = false;
     if (!empty($column['nullable']) && $column['nullable'] == 'N') {
         $notnull = true;
     }
     $default = false;
     if (array_key_exists('default', $column)) {
         $default = $column['default'];
         if ($default === 'NULL') {
             $default = null;
         }
         if (is_null($default) && $notnull) {
             $default = '';
         }
     }
     $definition[0] = array('notnull' => $notnull, 'nativetype' => $column['type']);
     if (!is_null($length)) {
         $definition[0]['length'] = $length;
     }
     if (!is_null($unsigned)) {
         $definition[0]['unsigned'] = $unsigned;
     }
     if (!is_null($fixed)) {
         $definition[0]['fixed'] = $fixed;
     }
     if ($default !== false) {
         $definition[0]['default'] = $default;
     }
     foreach ($types as $key => $type) {
         $definition[$key] = $definition[0];
         if ($type == 'clob' || $type == 'blob') {
             unset($definition[$key]['default']);
         }
         $definition[$key]['type'] = $type;
         $definition[$key]['mdb2type'] = $type;
     }
     if ($type == 'integer') {
         $query = "SELECT DISTINCT name\r\n                        FROM all_source\r\n                       WHERE type='TRIGGER'\r\n                         AND UPPER(text) like '%ON " . strtoupper($db->escape($table, 'text')) . "%'";
         $result = $db->query($query);
         if (!PEAR::isError($result)) {
             while ($row = $result->fetchRow(MDB2_FETCHMODE_ASSOC)) {
                 $row = array_change_key_case($row, CASE_LOWER);
                 $trquery = 'SELECT text
                               FROM all_source
                              WHERE name=' . $db->quote($row['name'], 'text') . ' ORDER BY line';
                 $triggersth = $db->query($trquery);
                 $triggerstr = '';
                 while ($triggerline = $triggersth->fetchRow(MDB2_FETCHMODE_ASSOC)) {
                     $triggerline = array_change_key_case($triggerline, CASE_LOWER);
                     $triggerstr .= $triggerline['text'] . ' ';
                 }
                 $matches = array();
                 if (preg_match('/.*\\W(.+)\\.nextval into :NEW\\.' . $field_name . ' FROM dual/i', $triggerstr, $matches)) {
                     // we reckon it's an autoincrementing trigger on field_name
                     // there will be other pcre patterns needed here for other ways of mimicking auto_increment in ora.
                     $definition[0]['autoincrement'] = $matches[1];
                 }
//.........这里部分代码省略.........
开发者ID:quangbt2005,项目名称:vhost-kis,代码行数:101,代码来源:oci8.php


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