Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
理解PHPBB如何转换为普通PHP有困难_Php_Sql_Phpbb - Fatal编程技术网

理解PHPBB如何转换为普通PHP有困难

理解PHPBB如何转换为普通PHP有困难,php,sql,phpbb,Php,Sql,Phpbb,我一直在摆弄第三方脚本有一段时间了,当时我注意到有一些不寻常的PHPBB框架代码随机放入PHP的其余部分。我需要了解的是,这段代码是否有什么特别之处(它能做普通PHP做不到的事情吗?),以及如果代码没有任何特别之处,我如何在没有框架的情况下顺利地将代码转换到PHP <? include('bar.php'); include "../includes/config.inc.php"; include "loggedin.inc.php"; include "../includes/coun

我一直在摆弄第三方脚本有一段时间了,当时我注意到有一些不寻常的PHPBB框架代码随机放入PHP的其余部分。我需要了解的是,这段代码是否有什么特别之处(它能做普通PHP做不到的事情吗?),以及如果代码没有任何特别之处,我如何在没有框架的情况下顺利地将代码转换到PHP

<?
include('bar.php');
include "../includes/config.inc.php";
include "loggedin.inc.php";
include "../includes/countries.inc.php";
$auction_id = isset($_REQUEST['aid']) ? $_REQUEST['aid'] : "";
?>
<?
define("DATAGRID_DIR", "../datagrid/");
define("PEAR_DIR", "../datagrid/pear/");
require_once(DATAGRID_DIR . 'datagrid.class.php');
require_once(PEAR_DIR . 'PEAR.php');
require_once(PEAR_DIR . 'DB.php');
$DB_USER = $DbUser;
$DB_PASS = $DbPassword;
$DB_HOST = $DbHost;
$DB_NAME = $DbDatabase;
ob_start();
$db_conn     = DB::factory('mysql');
$result_conn = $db_conn->connect(DB::parseDSN('mysql://' . $DB_USER . ':' . $DB_PASS . '@' . $DB_HOST . '/' . $DB_NAME));
if (DB::isError($result_conn)) {
    die($result_conn->getDebugInfo());
}
$sql = "SELECT u.id, u.nick, COUNT(b.bidder) AS bid_count, 'View offers' AS link
            FROM BPLA_bids b
                INNER JOIN BPLA_users u ON b.bidder=u.id
            WHERE b.auction=$auction_id
            GROUP BY b.bidder";
$unique_prefix       = "au_";
$dgrid               = new DataGrid($debug_mode, $messaging, $unique_prefix, DATAGRID_DIR);
$default_order_field = "nick";
$default_order_type  = "ASC";
$dgrid->dataSource($db_conn, $sql, $default_order_field, $default_order_type);
$dg_language = "en";
$dgrid->setInterfaceLang($dg_language);
$direction = "ltr";
$dgrid->setDirection($direction);
$modes = array(
    "add" => array(
        "view" => false,
        "edit" => false,
        "type" => "link"
    ),
    "edit" => array(
        "view" => false,
        "edit" => false,
        "type" => "link",
        "byFieldValue" => ""
    ),
    "cancel" => array(
        "view" => false,
        "edit" => false,
        "type" => "link"
    ),
    "details" => array(
        "view" => false,
        "edit" => false,
        "type" => "link"
    ),
    "delete" => array(
        "view" => false,
        "edit" => false,
        "type" => "image"
    )
);
$dgrid->setModes($modes);
$http_get_vars = array(
    "aid"
);
$dgrid->setHttpGetVars($http_get_vars);
$printing_option = false;
$dgrid->allowPrinting($printing_option);
$exporting_option    = false;
$exporting_directory = "";
$dgrid->allowExporting($exporting_option, $exporting_directory);
$sorting_option = true;
$dgrid->allowSorting($sorting_option);
$paging_option   = true;
$rows_numeration = false;
$numeration_sign = "N #";
$dgrid->allowPaging($paging_option, $rows_numeration, $numeration_sign);
$bottom_paging     = array();
$top_paging        = array();
$pages_array       = array(
    "10" => "10",
    "25" => "25",
    "50" => "50",
    "100" => "100",
    "250" => "250"
);
$default_page_size = 10;
$paging_arrows     = array(
    "first" => "|&lt;&lt;",
    "previous" => "&lt;&lt;",
    "next" => "&gt;&gt;",
    "last" => "&gt;&gt;|"
);
$dgrid->setPagingSettings($bottom_paging, $top_paging, $pages_array, $default_page_size, $paging_arrows);
$dgrid->setViewModeTableProperties($vm_table_properties);
$vm_colimns = array(
    "nick" => array(
        "header" => "Nick",
        "type" => "label",
        "summarize" => "false",
        "visible" => "true"
    ),
    "bid_count" => array(
        "header" => "Bid count",
        "type" => "label",
        "summarize" => "false",
        "visible" => "true"
    ),
    "link" => array(
        "header" => "&nbsp;",
        "type" => "link",
        "field_key" => "id",
        "field_data" => "link",
        "href" => "auction_users_bids.php?aid=$auction_id&uid={0}"
    )
);
$dgrid->setColumnsInViewMode($vm_colimns);
$dgrid->bind();
ob_end_flush();   
?>


PHPBB使用标准的PHP代码。在显示的代码中,使用了一个DataGrid类,这是PHPBB之前定义的。如果您可以找到该类的定义位置,这可能有助于理解它在做什么。寻找

class DataGrid

在PHPBB代码中查找有关该类的更多信息。

PHPBB使用标准PHP代码。你指的是什么不寻常的代码?@Tim Dearborn我指的是完全使用PHP编写HTML表的事实。我这样做主要是为了更自由、更容易地理解/编辑表格。此代码还连接到数据库,这是不寻常的,因为第三方代码的其余部分已通过config.inc.php文件连接。它使用的是DataGrid类,PHPBB在前面定义了DataGrid类。如果您可以找到该类的定义位置,这可能有助于理解它在做什么。在PHPBB代码中搜索
class DataGrid
。这段代码有什么特别之处?我不知道这段代码是否有什么特别之处。这就是我要问的。我想知道在这段代码中是否有一个特殊的额外函数专门用于PHPBB。