• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP xf_db_error函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中xf_db_error函数的典型用法代码示例。如果您正苦于以下问题:PHP xf_db_error函数的具体用法?PHP xf_db_error怎么用?PHP xf_db_error使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: Dataface_PreferencesTool__createPreferencesTable

/**
 * This function acts as a member method of the PreferencesTool class.  It has
 * been factored out for efficiency because it only needs to be run once.
 * @see Dataface_PreferncesTool::_createPreferencesTable()
 */
function Dataface_PreferencesTool__createPreferencesTable()
{
    $res = xf_db_query("create table if not exists `dataface__preferences` (\n\t\t\t`pref_id` int(11) unsigned not null auto_increment,\n\t\t\t`username` varchar(64) not null,\n\t\t\t`table` varchar(128) not null,\n\t\t\t`record_id` varchar(255) not null,\n\t\t\t`key` varchar(128) not null,\n\t\t\t`value` varchar(255) not null,\n\t\t\tprimary key (pref_id),\n\t\t\tindex `username` (`username`),\n\t\t\tindex `table` (`table`),\n\t\t\tindex `record_id` (`record_id`))", df_db());
    if (!$res) {
        throw new Exception(xf_db_error(df_db()), E_USER_ERROR);
    }
}
开发者ID:minger11,项目名称:Pipeline,代码行数:12,代码来源:_createPreferencesTable.php


示例2: test_updateTranslationsTable

 function test_updateTranslationsTable()
 {
     $app =& Dataface_Application::getInstance();
     $tt = new Dataface_TranslationTool();
     $tt->updateTranslationsTable();
     $sql = "show columns from `dataface__translations`";
     $res = xf_db_query($sql, $app->db());
     if (!$res) {
         trigger_error(xf_db_error($app->db()), E_USER_ERROR);
     }
     $cols = array();
     while ($row = xf_db_fetch_assoc($res)) {
         $cols[$row['Field']] = $row;
     }
     $this->assertEquals(array_keys($tt->schema), array_keys($cols));
     $tt->schema['test_col'] = array('Field' => 'test_col', 'Type' => "int(11)", 'Extra' => '', 'Null' => '');
     $tt->updateTranslationsTable();
     $sql = "show columns from `dataface__translations`";
     $res = xf_db_query($sql, $app->db());
     if (!$res) {
         trigger_error(xf_db_error($app->db()), E_USER_ERROR);
     }
     $cols = array();
     while ($row = xf_db_fetch_assoc($res)) {
         $cols[$row['Field']] = $row;
     }
     $this->assertEquals(array_keys($tt->schema), array_keys($cols));
 }
开发者ID:Zunair,项目名称:xataface,代码行数:28,代码来源:TranslationToolTest.php


示例3: createRecordsTable

 public static function createRecordsTable()
 {
     $sql = sprintf("create table `%s` (\n\t\t\t\tid int(11) not null auto_increment,\n\t\t\t\tschema_id int(11) not null,\n\t\t\t\t`base_record_id_hash` varchar(32) not null,\n\t\t\t\t`base_record_id` text not null,\n\t\t\t\t`version_hash` varchar(32) not null,\n\t\t\t\t`lang` varchar(2) not null,\n\t\t\t\t`record_data` text not null,\n\t\t\t\tprimary key (`id`),\n\t\t\t\tkey (`schema_id`, `base_record_id_hash`, `version_hash`)\n\t\t\t)", self::$RECORDS_TABLE);
     $res = xf_db_query($sql, df_db());
     if (!$res) {
         throw new Exception(xf_db_error(df_db()));
     }
     true;
 }
开发者ID:minger11,项目名称:Pipeline,代码行数:9,代码来源:MySQLDataSource.php


示例4: handle

 function handle(&$params)
 {
     $app =& Dataface_Application::getInstance();
     if (df_get_database_version() == df_get_file_system_version()) {
         $app->redirect(DATAFACE_SITE_HREF . '?--msg=' . urlencode('The application database is up to date at version ' . df_get_database_version()));
     }
     if (df_get_database_version() > df_get_file_system_version()) {
         $app->redirect(DATAFACE_SITE_HREF . '?--msg=' . urlencode('The database version is greater than the file system version.  Please upgrade your application to match the version in the database (version ' . df_get_database_version()));
     }
     $res = xf_db_query("select count(*) from dataface__version", df_db());
     if (!$res) {
         throw new Exception(xf_db_error(df_db()));
     }
     $row = xf_db_fetch_row($res);
     if ($row[0] == 0) {
         $res2 = xf_db_query("insert into dataface__version (`version`) values (0)", df_db());
         if (!$res2) {
             throw new Exception(xf_db_error(df_db()));
         }
     }
     if (file_exists('conf/Installer.php')) {
         import('conf/Installer.php');
         $installer = new conf_Installer();
         $methods = get_class_methods('conf_Installer');
         $methods = preg_grep('/^update_([0-9]+)$/', $methods);
         $updates = array();
         foreach ($methods as $method) {
             preg_match('/^update_([0-9]+)$/', $method, $matches);
             $version = intval($matches[1]);
             if ($version > df_get_database_version() and $version <= df_get_file_system_version()) {
                 $updates[] = $version;
             }
         }
         sort($updates);
         foreach ($updates as $update) {
             $method = 'update_' . $update;
             $res = $installer->{$method}();
             if (PEAR::isError($res)) {
                 return $res;
             }
             $res = xf_db_query("update dataface__version set `version`='" . addslashes($update) . "'", df_db());
             if (!$res) {
                 throw new Exception(xf_db_error(df_db()), E_USER_ERROR);
             }
         }
     }
     $res = xf_db_query("update dataface__version set `version`='" . addslashes(df_get_file_system_version()) . "'", df_db());
     if (!$res) {
         throw new Exception(xf_db_error(df_db()), E_USER_ERROR);
     }
     if (function_exists('apc_clear_cache')) {
         apc_clear_cache('user');
     }
     df_clear_views();
     df_clear_cache();
     $app->redirect(DATAFACE_SITE_HREF . '?--msg=' . urlencode('The database has been successfully updated to version ' . df_get_file_system_version()));
 }
开发者ID:minger11,项目名称:Pipeline,代码行数:57,代码来源:install.php


示例5: setUp

 function setUp()
 {
     $app =& Dataface_Application::getInstance();
     $path = DATAFACE_SITE_PATH . '/tables/' . $this->mytable;
     if (file_exists($path)) {
         @rmdir($path);
     }
     xf_db_query('drop table if exists `' . $this->mytable . '`', $app->db()) or die(xf_db_error() . ' on line ' . __LINE__ . ' of file ' . __FILE__);
     parent::setUp();
 }
开发者ID:Zunair,项目名称:xataface,代码行数:10,代码来源:Table_builderTest.php


示例6: Dataface_ConfigTool_createConfigTable

/**
 * A method to create the configuration table in the database.  The configuration
 * table is where configuration (e.g. fields.ini etc..) may be stored.  This is
 * a new feature in 0.6.14.
 *
 * @author Steve Hannah <[email protected]>
 * @created Feb. 26, 2007
 */
function Dataface_ConfigTool_createConfigTable()
{
    $self =& Dataface_ConfigTool::getInstance();
    if (!Dataface_Table::tableExists($self->configTableName, false)) {
        $sql = "CREATE TABLE `" . $self->configTableName . "` (\n\t\t\t\t\tconfig_id int(11) NOT NULL auto_increment primary key,\n\t\t\t\t\t`file` varchar(255) NOT NULL,\n\t\t\t\t\t`section` varchar(128),\n\t\t\t\t\t`key` varchar(128) NOT NULL,\n\t\t\t\t\t`value` text NOT NULL,\n\t\t\t\t\t`lang` varchar(2),\n\t\t\t\t\t`username` varchar(32),\n\t\t\t\t\t`priority` int(5) default 5\n\t\t\t\t\t)";
        $res = xf_db_query($sql, df_db());
        if (!$res) {
            throw new Exception(xf_db_error(df_db()), E_USER_ERROR);
        }
    }
}
开发者ID:minger11,项目名称:Pipeline,代码行数:19,代码来源:createConfigTable.function.php


示例7: testSync1

 function testSync1()
 {
     $app =& Dataface_Application::getInstance();
     $s = new DB_Sync($app->db(), $app->db(), 'a', 'b');
     $s->syncTables();
     $res = xf_db_query("show create table b", $app->db());
     if (!$res) {
         trigger_error(xf_db_error($app->db()), E_USER_ERROR);
     }
     $row = xf_db_fetch_assoc($res);
     @xf_db_free_result($res);
     $this->assertEquals("CREATE TABLE `b` (\n  `id` int(11) NOT NULL auto_increment,\n  `a` varchar(32) default 'b',\n  `b` datetime default '0000-00-00 00:00:00',\n  PRIMARY KEY  (`id`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1", $row['Create Table']);
 }
开发者ID:Zunair,项目名称:xataface,代码行数:13,代码来源:DB_Sync_Test.php


示例8: setUp

 function setUp()
 {
     parent::setUp();
     xf_db_query("CREATE TABLE `Pages` (\n\t\t\t`PageID` INT(11) auto_increment NOT NULL,\n\t\t\t`ParentID` INT(11),\n\t\t\t`ShortName` VARCHAR(32) NOT NULL,\n\t\t\t`Description` TEXT,\n\t\t\tPRIMARY KEY (`PageID`),\n\t\t\tUNIQUE (`ParentID`,`ShortName`))") or trigger_error(xf_db_error() . __LINE__);
     xf_db_query("INSERT INTO `Pages` (`PageID`,`ShortName`,`Description`)\n\t\t\tVALUES (1,'index_page','Main page')") or trigger_error(xf_db_error() . __LINE__);
     xf_db_query("INSERT INTO `Pages` (`ParentID`,`ShortName`,`Description`)\n\t\t\tVALUES \n\t\t\t(1,'about','About us'),\n\t\t\t(1,'jobs','Now hiring'),\n\t\t\t(1,'products','About our products'),\n\t\t\t(1,'services','About our services'),\n\t\t\t(1,'contact','Contact us')") or trigger_error(xf_db_error() . __LINE__);
     xf_db_query("INSERT INTO `Pages` (`ParentID`,`ShortName`,`Description`)\n\t\t\tVALUES\n\t\t\t(2,'history','Our history'),\n\t\t\t(2,'future', 'The direction of the company'),\n\t\t\t(3,'application', 'Job application'),\n\t\t\t(3,'current_listing', 'Current job listings'),\n\t\t\t(4,'awards','Product awards'),\n\t\t\t(4,'downloads','Product downlaods'),\n\t\t\t(5,'consultation','Free consultation')") or trigger_error(xf_db_error() . __LINE__);
     $table =& Dataface_Table::loadTable('Pages');
     $r =& $table->relationships();
     if (!isset($r['children'])) {
         $table->addRelationship('children', array('__sql__' => 'select * from Pages where ParentID=\'$PageID\'', 'meta:class' => 'children'));
     }
     $this->indexpage =& df_get_record('Pages', array('PageID' => 1));
     $this->t = new Dataface_TreeTable($this->indexpage);
 }
开发者ID:Zunair,项目名称:xataface,代码行数:15,代码来源:TreeTableTest.php


示例9: Dataface_ConfigTool_setConfigParam

/**
 * Sets a configuration parameter in the configuration table.
 * This should not be called directly.  It should be called through the 
 * Dataface_ConfigTool class as its setConfigParam method.
 *
 * @param string $file The name of the ini file in which the config value is being set.
 * @param string $section The name of the section (could be null).
 * @param string $key The name of the parameter's key (not null)
 * @param string $value The value to set (not null)
 * @param string $username The username for which the parameter is being set (null for all users)
 * @param string $lang The 2-digit language code for which the parameter is being set (null for all languages).
 * @param integer $priority The priority of this config variable (priority dictates which 
 *					parameters take priority. Default vallue of 5.
 * @returns true if success or PEAR_Error if failure.
 *
 * This will create the configuration table if it doesn't already exist.
 *
 *	@author Steve Hannah <[email protected]>
 * @created Feb. 26, 2007
 */
function Dataface_ConfigTool_setConfigParam($file, $section, $key, $value, $username = null, $lang = null, $priority = 5)
{
    $self =& Dataface_ConfigTool::getInstance();
    // See if this parameter has already been set:
    $where = array();
    $where[] = "`key`='" . addslashes($key) . "'";
    $where[] = "`file`='" . addslashes($file) . "'";
    $where[] = "`section`" . (isset($section) ? "='" . addslashes($section) . "'" : ' IS NULL');
    $where[] = "`username`" . (isset($username) ? "='" . addslashes($username) . "'" : ' IS NULL');
    $where[] = "`lang`" . (isset($lang) ? "='" . addslashes($lang) . "'" : ' IS NULL');
    $where = implode(' and ', $where);
    $sql = "select `config_id` from `" . $self->configTableName . "` where {$where} limit 1";
    $res = xf_db_query($sql, df_db());
    if (!$res) {
        $self->createConfigTable();
        $res = xf_db_query($sql, df_db());
    }
    if (!$res) {
        return PEAR::raiseError("Failed to get config parameter: " . xf_db_error(df_db()));
    }
    $vals = array("section" => isset($section) ? "'" . addslashes($section) . "'" : 'NULL', "key" => "'" . addslashes($key) . "'", "value" => "'" . addslashes($value) . "'", "username" => "'" . addslashes($username) . "'", "lang" => "'" . addslashes($lang) . "'", "priority" => $priority);
    if (xf_db_num_rows($res) > 0) {
        $row = xf_db_fetch_assoc($res);
        // We need to perform an update
        $updates = array();
        foreach ($vals as $vkey => $vval) {
            $updates[] = '`' . $vkey . '`=' . $vval;
        }
        $sets = implode(' and ', $updates);
        $sql = "update `" . $self->configTableName . "` set " . $sets . " where `config_id`='" . $row['config_id'] . "' limit 1";
    } else {
        $values = array();
        $cols = array();
        foreach ($vals as $vkey => $vval) {
            $cols[] = "`{$vkey}`";
            $values[] = $vval;
        }
        $cols = implode(',', $cols);
        $values = implode(',', $values);
        $sql = "insert into `" . $self->configTableName . "` ({$cols}) VALUES ({$values})";
    }
    @xf_db_free_result($res);
    $res = xf_db_query($sql, df_db());
    if (!$res) {
        return PEAR::raiseError("Could not write config value: " . xf_db_error(df_db()));
    }
    return true;
}
开发者ID:minger11,项目名称:Pipeline,代码行数:68,代码来源:setConfigParam.function.php


示例10: handle

 function handle(&$params)
 {
     $res = xf_db_query("show tables like 'dataface__view_%'", df_db());
     $views = array();
     while ($row = xf_db_fetch_row($res)) {
         $views[] = $row[0];
     }
     if ($views) {
         $sql = "drop view `" . implode('`,`', $views) . "`";
         echo $sql;
         echo "<br/>";
         $res = xf_db_query("drop view `" . implode('`,`', $views) . "`", df_db());
         if (!$res) {
             throw new Exception(xf_db_error(df_db()));
         }
     }
     echo "done";
 }
开发者ID:minger11,项目名称:Pipeline,代码行数:18,代码来源:clear_views.php


示例11: copy

 function copy($record, $vals = array(), $force = true)
 {
     foreach ($vals as $k => $v) {
         if (strpos($v, '=') === 0) {
             $vals[$k] = $this->evaluate($v, $k, $record);
         }
     }
     $del = $record->_table->getDelegate();
     if (isset($del) and method_exists($del, 'beforeCopy')) {
         $res = $del->beforeCopy($record, $vals);
         if (PEAR::isError($res)) {
             return $res;
         }
     }
     $this->warnings = array();
     // Step 1: Load the record - it has been passed
     // Step 2: build sql query to copy the record
     $query = $this->buildCopyQuery($record, $vals, $force);
     if (PEAR::isError($query)) {
         return $query;
     }
     $res = df_query($query);
     if (!$res) {
         return PEAR::raiseError("Failed to copy record '" . $record->getTitle() . "' due to an SQL error:" . xf_db_error());
     }
     if (PEAR::isError($res)) {
         return $res;
     }
     $ret = null;
     if ($auto_field_id = $record->_table->getAutoIncrementField()) {
         $insert_id = df_insert_id();
         $copied =& df_get_record($record->_table->tablename, array($auto_field_id => $insert_id));
         $ret = $copied;
     } else {
         $ret = new Dataface_Record($record->_table->tablename, array_merge($record->vals(), $vals));
     }
     if (isset($del) and method_exists($del, 'afterCopy')) {
         $res = $del->afterCopy($record, $ret);
         if (PEAR::isError($res)) {
             return $res;
         }
     }
     return $ret;
 }
开发者ID:minger11,项目名称:Pipeline,代码行数:44,代码来源:CopyTool.php


示例12: afterCopy

 function afterCopy(Dataface_Record $orig, Dataface_Record $copy)
 {
     $rand = md5(rand(0, 1000000));
     $copytable = 'copy_' . $rand;
     $res = xf_db_query("create temporary table `{$copytable}` select * from formula_ingredients where formula_id='" . addslashes($orig->val('formula_id')) . "'", df_db());
     if (!$res) {
         throw new Exception(xf_db_error(df_db()));
     }
     $res = xf_db_query("update `{$copytable}` set formula_id='" . addslashes($copy->val('formula_id')) . "'", df_db());
     if (!$res) {
         throw new Exception(xf_db_error(df_db()));
     }
     $res = xf_db_query("insert into formula_ingredients select * from `{$copytable}`", df_db());
     if (!$res) {
         throw new Exception(xf_db_error(df_db()));
     }
     $res = xf_db_query("drop table `{$copytable}`", df_db());
     if (!$res) {
         throw new Exception(xf_db_error(df_db()));
     }
 }
开发者ID:Zunair,项目名称:xataface,代码行数:21,代码来源:formulas.php


示例13: handle

 function handle(&$params)
 {
     $app =& Dataface_Application::getInstance();
     $context = array();
     if (!is_array(@$app->_conf['_output_cache']) or !@$app->_conf['_output_cache']['enabled']) {
         $context['enabled'] = false;
         //return PEAR::raiseError('The output cache is currently disabled.  You can enable it by adding an [_output_cache] section to your conf.ini file with a value \'enabled=1\'');
     } else {
         $context['enabled'] = true;
     }
     if (@$_POST['--clear-cache']) {
         // We should clear the cache
         @xf_db_query("delete from `__output_cache`", df_db());
         $app->redirect($app->url('') . '&--msg=' . urlencode('The output cache has been successfully cleared.'));
     }
     $res = xf_db_query("select count(*) from `__output_cache`", df_db());
     if (!$res) {
         throw new Exception(xf_db_error(df_db()), E_USER_ERROR);
     }
     list($numrows) = xf_db_fetch_row($res);
     $context['numrows'] = $numrows;
     df_display($context, 'manage_output_cache.html');
 }
开发者ID:minger11,项目名称:Pipeline,代码行数:23,代码来源:manage_output_cache.php


示例14: handle

 function handle($params)
 {
     $app =& Dataface_Application::getInstance();
     if (!isset($_GET['key'])) {
         trigger_error("No key specified", E_USER_ERROR);
     }
     $sql = "select `value` from `" . TRANSLATION_PAGE_TABLE . "` where `key` = '" . addslashes($_GET['key']) . "'";
     $res = xf_db_query($sql, $app->db());
     if (!$res) {
         trigger_error(xf_db_error($app->db()), E_USER_ERROR);
     }
     if (xf_db_num_rows($res) == 0) {
         trigger_error("Sorry the specified key was invalid.", E_USER_ERROR);
     }
     list($content) = xf_db_fetch_row($res);
     @xf_db_free_result($res);
     if (function_exists('tidy_parse_string')) {
         $config = array('show-body-only' => true, 'output-encoding' => 'utf8');
         $html = tidy_repair_string($content, $config, "utf8");
         $content = trim($html);
     }
     df_display(array('content' => $content), 'TranslationPageTemplate.html');
     return true;
 }
开发者ID:minger11,项目名称:Pipeline,代码行数:24,代码来源:get_page_to_translate.php


示例15: handle

 function handle(&$params)
 {
     import('Dataface/TranslationForm.php');
     $app =& Dataface_Application::getInstance();
     $query =& $app->getQuery();
     $resultSet =& $app->getResultSet();
     $source = isset($_REQUEST['-sourceLanguage']) ? $_REQUEST['-sourceLanguage'] : $app->_conf['default_language'];
     $dest = isset($_REQUEST['-destinationLanguage']) ? $_REQUEST['-destinationLanguage'] : null;
     if ($resultSet->found() > 0) {
         $form = new Dataface_TranslationForm($query['-table'], $source, $dest);
         /*
          * There is either a result to edit, or we are creating a new record.
          *
          */
         $res = $form->_build();
         if (PEAR::isError($res)) {
             throw new Exception($res->toString() . Dataface_Error::printStackTrace(), E_USER_ERROR);
         }
         /*
          *
          * We need to add the current GET parameter flags (the GET vars starting with '-') so
          * that the controller knows to pass control to this method again upon form submission.
          *
          */
         foreach ($query as $key => $value) {
             if (strpos($key, '-') === 0) {
                 $form->addElement('hidden', $key);
                 $form->setDefaults(array($key => $value));
             }
         }
         /*
          * Store the current query string (the portion after the '?') in the form, so we 
          * can retrieve it after and redirect back to our original location.
          */
         $form->addElement('hidden', '-query');
         $form->setDefaults(array('-action' => $query['-action'], '-query' => $_SERVER['QUERY_STRING']));
         /*
          * 
          * We have to deal with 3 cases.
          * 	1) The form has not been submitted.
          *	2) The form was submitted but didn't validate (ie: it had some bad input)
          * 	3) The form was submitted and was validated.
          *
          * We deal with Case 3 first...
          *
          */
         if ($form->validate()) {
             /*
              *
              * The form was submitted and it validated ok.  We now process it (ie: save its contents).
              *
              */
             $app->clearMessages();
             $result = $form->process(array(&$form, 'save'));
             $success = true;
             $response =& Dataface_Application::getResponse();
             if (!$result) {
                 error_log("Error occurred in save: " . xf_db_error($app->db()) . Dataface_Error::printStackTrace());
                 throw new Exception("Error occurred in save.  See error log for details.");
             } else {
                 if (PEAR::isError($result) && !Dataface_Error::isNotice($result)) {
                     //echo "Error..";
                     if (Dataface_Error::isDuplicateEntry($result)) {
                         return $result;
                     } else {
                         //echo "not dup entry"; exit;
                         throw new Exception($result->toString(), E_USER_ERROR);
                     }
                 } else {
                     if (Dataface_Error::isNotice($result)) {
                         $app->addError($result);
                         //$response['--msg'] = @$response['--msg'] ."\n".$result->getMessage();
                         $success = false;
                     }
                 }
             }
             if ($success) {
                 /*
                  *
                  * The original query string will have the -new flag set.  We need to remove this 
                  * flag so that we don't redirect the user to create another new record.
                  *
                  */
                 $vals = $form->exportValues();
                 $vals['-query'] = preg_replace('/[&\\?]-new=[^&]+/i', '', $vals['-query']);
                 $msg = implode("\n", $app->getMessages());
                 //$msg =@$response['--msg'];
                 $msg = urlencode(Dataface_LanguageTool::translate('Record successfully translated', "Record successfully translated.<br>") . $msg);
                 $link = $_SERVER['HOST_URI'] . DATAFACE_SITE_HREF . '?' . $vals['-query'] . '&--msg=' . $msg;
                 /*
                  *
                  * Redirect the user to the appropriate record.
                  *
                  */
                 $app->redirect($link);
             }
         }
         ob_start();
         $form->display();
         $out = ob_get_contents();
//.........这里部分代码省略.........
开发者ID:minger11,项目名称:Pipeline,代码行数:101,代码来源:translate.php


示例16: Dataface_Record

 function &loadCurrent($columns = null, $loadText = true, $loadBlobs = false, $loadPasswords = false)
 {
     $app =& Dataface_Application::getInstance();
     $false = false;
     // boolean placeholders for values needing to be returned by reference
     $true = true;
     if ($this->_currentRecord === null) {
         //require_once 'Dataface/IO.php';
         //$io = new Dataface_IO($this->_table->tablename);
         //$query = array_merge( $this->_query, array('-skip'=>$this->_data['cursor'], '-limit'=>1) );
         $this->_currentRecord = new Dataface_Record($this->_table->tablename, array());
         //$io->read($query, $this->_currentRecord);
     }
     //return $this->_currentRecord;
     $unloaded = array();
     $fields =& $this->_table->fields(false, true);
     if ($columns === null) {
         $names = array_keys($fields);
     } else {
         $names = $columns;
     }
     foreach ($names as $name) {
         if (!$this->_currentRecord->isLoaded($name)) {
             if (!$loadText and $this->_table->isText($name)) {
                 continue;
             }
             if (!$loadBlobs and $this->_table->isBlob($name)) {
                 continue;
             }
             if (!$loadPasswords and $this->_table->isPassword($name)) {
                 continue;
             }
             $unloaded[] = $name;
         }
     }
     if (sizeof($unloaded) > 0) {
         $query = array_merge($this->_query, array('-skip' => $this->_data['cursor'], '-limit' => 1));
         $builder = new Dataface_QueryBuilder($this->_tablename, $query);
         $builder->selectMetaData = true;
         $builder->_omitBlobs = false;
         $sql = $builder->select($unloaded);
         //echo $sql;
         if (PEAR::isError($sql)) {
             throw new Exception($sql->toString(), E_USER_ERROR);
         }
         //echo $sql;
         $res = $this->dbObj->query($sql, $this->_db, null, true);
         if (!$res and !is_array($res)) {
             $app->refreshSchemas($this->_table->tablename);
             $res = $this->dbObj->query($sql, $this->_db, null, true);
             if (!$res and !is_array($res)) {
                 error_log(df_translate('scripts.Dataface.QueryTool.loadCurrent.ERROR_COULD_NOT_LOAD_CURRENT_RECORD', "Error: Could not load current record: ") . xf_db_error($this->_db) . "\n{$sql}");
                 throw new Exception("Failed to load current record due to an SQL error");
             }
         }
         if (count($res) <= 0) {
             return $false;
         }
         $row = $res[0];
         //xf_db_fetch_assoc($res);
         //@xf_db_free_result($row);
         if (!isset($this->_currentRecord)) {
             $this->_currentRecord = new Dataface_Record($this->_table->tablename, $row);
         } else {
             $this->_currentRecord->setValues($row);
         }
         //$this->_table->setValues($row);
         //$this->_table->setSnapshot();
         //$this->_table->deserialize();
     }
     return $this->_currentRecord;
 }
开发者ID:minger11,项目名称:Pipeline,代码行数:72,代码来源:QueryTool.php


示例17: delete_request_with_uuid

 function delete_request_with_uuid($uuid)
 {
     $table = self::$TABLE_RESET_PASSWORD;
     $res = xf_db_query("delete from `{$table}` where request_uuid='" . addslashes($uuid) . "' limit 1", df_db());
     if (!$res) {
         throw new Exception(xf_db_error(df_db()));
     }
 }
开发者ID:Zunair,项目名称:xataface,代码行数:8,代码来源:forgot_password.php


示例18: test_translateDeleteQuery

 function test_translateDeleteQuery()
 {
     $app =& Dataface_Application::getInstance();
     // Try to insert only values into both the base table and the
     // translated table.
     $sql = 'Delete FROM PeopleIntl where PersonID=5';
     $translator = new Dataface_QueryTranslator('en');
     $tsql = $translator->translateQuery($sql);
     //print_r($tsql);exit;
     $affected_rows = array();
     foreach ($tsql as $q) {
         $res = xf_db_query($q, $app->db());
         if (!$res) {
             die(xf_db_error($app->db()));
         }
         $affected_rows[$q] = xf_db_affected_rows($app->db());
     }
     $this->assertEquals(array("delete from `PeopleIntl` where `PersonID` = 5", "delete from `PeopleIntl_en` where `PersonID` = 5", "delete from `PeopleIntl_fr` where `PersonID` = 5"), $tsql);
     $this->assertEquals(array("delete from `PeopleIntl` where `PersonID` = 5" => 1, "delete from `PeopleIntl_en` where `PersonID` = 5" => 0, "delete from `PeopleIntl_fr` where `PersonID` = 5" => 0), $affected_rows);
 }
开发者ID:Zunair,项目名称:xataface,代码行数:20,代码来源:QueryTranslator_Test.php


示例19: handle

 function handle(&$params)
 {
     import('Dataface/FormTool.php');
     import('Dataface/QuickForm.php');
     $formTool =& Dataface_FormTool::getInstance();
     $app =& Dataface_Application::getInstance();
     $query =& $app->getQuery();
     $resultSet =& $app->getResultSet();
     $currentRecord =& $app->getRecord();
     $currentTable =& Dataface_Table::loadTable($query['-table']);
     if (!isset($query['--tab']) and count($currentTable->tabs($currentRecord)) > 1) {
         $tabs = $currentTable->tabs($currentRecord);
         uasort($tabs, array($formTool, '_sortTabs'));
         list($query['--tab']) = array_keys($tabs);
     } else {
         if (count($currentTable->tabs($currentRecord)) <= 1) {
             unset($query['--tab']);
         }
     }
     $includedFields = null;
     // Null for all fields
     if (@$query['-fields']) {
         $includedFields = explode(' ', $query['-fields']);
     }
     /*
      *
      * Create the quickform for the current record.
      *
      */
     //$form = new Dataface_QuickForm($query['-table'], $app->db(),  $query);
     if ($resultSet->found() > @$query['-cursor']) {
         $form = $formTool->createRecordForm($currentRecord, false, @$query['--tab'], $query, $includedFields);
         /*
          * There is either a result to edit, or we are creating a new record.
          *
          */
         $res = $form->_build();
         if (PEAR::isError($res)) {
             error_log($res->toString() . implode("\n", $res->getBacktrace()));
             throw new Exception("An error occurred while building the edit form.  See error log for details.", E_USER_ERROR);
         }
         $formTool->decorateRecordForm($currentRecord, $form, false, @$query['--tab']);
         /*
          *
          * We need to add the current GET parameter flags (the GET vars starting with '-') so
          * that the controller knows to pass control to this method again upon form submission.
          *
          */
         foreach ($query as $key => $value) {
             if (strpos($key, '-') === 0) {
                 $form->addElement('hidden', $key);
                 $form->setDefaults(array($key => $value));
             }
         }
         /*
          * Store the current query string (the portion after the '?') in the form, so we 
          * can retrieve it after and redirect back to our original location.
          */
         $form->addElement('hidden', '-query');
         $form->setDefaults(array('-action' => $query['-action'], '-query' => $_SERVER['QUERY_STRING']));
         /*
          * 
          * We have to deal with 3 cases.
          * 	1) The form has not been submitted.
          *	2) The form was submitted but didn't validate (ie: it had some bad input)
          * 	3) The form was submitted and was validated.
          *
          * We deal with Case 3 first...
          *
          */
         if ($formTool->validateRecordForm($currentRecord, $form, false, @$query['--tab'])) {
             /*
              *
              * The form was submitted and it validated ok.  We now process it (ie: save its contents).
              *
              */
             $app->clearMessages();
             $formTool->handleTabSubmit($currentRecord, $form, @$query['--tab']);
             if (!isset($query['--tab'])) {
                 // If we aren't using tabs we just do it the old way.
                 // (If it ain't broke don't fix it
                 $result = $form->process(array(&$form, 'save'));
             } else {
                 // If we are using tabs, we will use the formtool's
                 // session aware saving function
                 $result = $formTool->saveSession($currentRecord);
             }
             $success = true;
             $response =& Dataface_Application::getResponse();
             if (!$result) {
                 error_log("Error occurred in save: " . xf_db_error($app->db()) . Dataface_Error::printStackTrace());
                 throw new Exception("An error occurred while attempting to save the record.  See error log for details.", E_USER_ERROR);
             } else {
                 if (PEAR::isError($result) && !Dataface_Error::isNotice($result)) {
                     if (Dataface_Error::isDuplicateEntry($result)) {
                         $app->addError($result);
                         $success = false;
                     } else {
                         error_log($result->toString() . implode("\n", $result->getBacktrace()));
                         throw new Exception("An error occurred while attempting to save the record.  See error log for details.", E_USER_ERROR);
//.........这里部分代码省略.........
开发者ID:minger11,项目名称:Pipeline,代码行数:101,代码来源:edit.php


示例20: handle

    function handle(&$params)
    {
        $app = Dataface_Application::getInstance();
        header('Content-type: text/html; charset=' . $app->_conf['oe']);
        $record =& $app->getRecord();
        $query =& $app->getQuery();
        if (isset($_REQUEST['-form-id'])) {
            $formid = $_REQUEST['-form-id'];
        } else {
            $formid = 'ajax-form-' . rand();
        }
        // First let's figure out what kind of form this is
        $form_type = @$_REQUEST['-form-type'];
        $form = null;
        if (isset($_REQUEST['-fields'])) {
            $fields = explode(',', $_REQUEST['-fields']);
        } else {
            $fields = null;
        }
        switch ($form_type) {
            case 'new':
                $form = df_create_new_record_form($query['-table'], $fields);
                $form->_build();
                break;
            case 'edit':
                $form = df_create_edit_record_form($query['-table'], $fields);
                break;
            case 'new_related_record':
                $form = df_create_new_related_record_form($record, $query['-relationship'], $fields);
                break;
            case 'existing_related_record':
                $form = df_create_existing_related_record_form($record, $query['-relationship']);
                break;
            case 'composite':
                import('Dataface/CompositeForm.php');
                $form = new Dataface_CompositeForm($fields);
                $form->build();
                break;
            default:
                @(include_once 'forms/' . $form_type . '.php');
                if (!class_exists('forms_' . $form_type)) {
                    return PEAR::raiseError('Could not find form of type "' . $form_type . '".', DATAFACE_E_ERROR);
                }
                $classname = 'forms_' . $form_type;
                $form = new $classname($fields);
                break;
        }
        // We want the form to be submitted to the embedded iframe
        $form->updateAttributes(array('target' => $formid . '-target', 'accept-charset' => $app->_conf['ie']));
        $formparams = preg_grep('/^-[^\\-].*/', array_keys($query));
        foreach ($formparams as $param) {
            $form->addElement('hidden', $param);
            $form->setDefaults(array($param => $query[$param]));
        }
        $form->addElement('hidden', '-form-id');
        $form->setDefaults(array('-form-id' => $formid));
        // Now that we have our form, we can do our thing with it.
        if ($form->validate()) {
            /*
             *
             * The form was submitted and it validated ok.  We now process it (ie: save its contents).
             *
             */
            $app->clearMessages();
            $result = $form->process(array(&$form, 'save'));
            $success = true;
            $response =& Dataface_Application::getResponse();
            if (!$result) {
                trigger_error("Error occurred in save: " . xf_db_error($app->db()) . Dataface_Error::printStackTrace(), E_USER_ERROR);
                exit;
            } else {
                if (PEAR::isError($result) && !Dataface_Error::isNotice($result)) {
                    if (Dataface_Error::isDuplicateEntry($result)) {
                        return $result;
                    } else {
                        trigger_error($result->toString() . Dataface_Error::printStackTrace(), E_USER_ERROR);
                        exit;
                    }
                } else {
                    if (Dataface_Error::isNotice($result)) {
                        $app->addError($result);
                        $success = false;
                    }
                }
            }
            if ($success) {
                import('Dataface/Utilities.php');
                Dataface_Utilities::fireEvent('after_action_ajax_form');
                $msg = implode("\n", $app->getMessages());
                //$msg =@$response['--msg'];
                $msg = urlencode(Dataface_LanguageTool::translate( 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP xf_db_query函数代码示例发布时间:2022-05-23
下一篇:
PHP xecho函数代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap