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


PHP buildIndex函数代码示例

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


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

示例1: dispatcher

function dispatcher()
{
    //Dispatch requested functionality
    //If user is not logged in, dump to the login prompt. Otherwise deliver request
    //Allowed requests:
    //action = upload
    //non-AJAX file upload request. Delivers index when complete.
    //action = fetch
    //AJAX fetch request. Details stored in $_POST['fetch'].
    //action = insert
    //AJAX inster request. Details stored in $_POST['insert'].
    //action = update
    //TODO
    //AJAX update request. Details stored in $_POST['update'].
    //No postdata
    //Index request. Deliver the index normally
    //Anything else
    //Malformed or tampered request. Deliver the index with a notice.
    //TODO: Revise player fetch to either auto-authenticate or fetch from a different (unified) file, since un-logged-in players get a login page when they ask for JSON with this version
    $auth = account_dispatcher();
    if ($auth['status'] == false) {
        print buildLoginPage();
        die;
    }
    if ($auth['user']['user_role'] == 0) {
        print buildBumpbackPage($auth);
        //TODO: if bumpback stays it needs a logout button
        die;
    }
    //print_r_html($auth);
    $action = '';
    if (isset($_POST['action'])) {
        $action = $_POST['action'];
    }
    if ($action == 'upload') {
        //upload requested, do the upload and send a fresh index, I'm not even going to /think/ about doing this part over AJAX until the rest is done, that's just asking for a headache
        post_uploadHandler($auth);
        //TODO: add back result reporting for uploader
    }
    if ($action == 'fetch') {
        ajax_fetchHandler($auth);
        die;
    }
    if ($action == 'insert') {
        ajax_insertHandler($auth);
    }
    if ($action == 'delete') {
        ajax_deleteHandler($auth);
    }
    print buildIndex($auth);
}
开发者ID:genericAnomaly,项目名称:rapidsign,代码行数:51,代码来源:index.php

示例2: doboard

function doboard($board)
{
    global $global_locale, $config, $main_js, $options;
    $config['mask_db_error'] = false;
    if (!$options['api']) {
        $config['api']['enabled'] = false;
    }
    echo "Opening board /{$board['uri']}/...\n";
    // Reset locale to global locale
    $config['locale'] = $global_locale;
    init_locale($config['locale'], 'error');
    openBoard($board['uri']);
    $config['try_smarter'] = false;
    if ($config['file_script'] != $main_js && $options['js']) {
        // different javascript file
        echo "(/{$board['uri']}/) Generating Javascript file...\n";
        buildJavascript();
    }
    if ($options['indexes']) {
        echo "(/{$board['uri']}/) Creating index pages...\n";
        buildIndex();
    }
    if ($options['postmarkup']) {
        $query = query(sprintf("SELECT `id` FROM ``posts_%s``", $board['uri'])) or error(db_error());
        while ($post = $query->fetch()) {
            echo "(/{$board['uri']}/) Rebuilding #{$post['id']}...\n";
            rebuildPost($post['id']);
        }
    }
    if ($options['threads']) {
        $query = query(sprintf("SELECT `id` FROM ``posts_%s`` WHERE `thread` IS NULL", $board['uri'])) or error(db_error());
        while ($post = $query->fetch()) {
            echo "(/{$board['uri']}/) Rebuilding #{$post['id']}...\n";
            @buildThread($post['id']);
        }
    }
}
开发者ID:0151n,项目名称:vichan,代码行数:37,代码来源:rebuild2.php

示例3: preg_match_all

    // This code is probably horrible, but what I'm trying
    // to do is find all of the SQL queires and put them
    // in an array.
    preg_match_all("/(^|\n)((SET|CREATE|INSERT).+)\n\n/msU", $sql, $queries);
    $queries = $queries[2];
    $queries[] = Element('posts.sql', array('board' => 'b'));
    $sql_errors = '';
    foreach ($queries as &$query) {
        if (!query($query)) {
            $sql_errors .= '<li>' . db_error() . '</li>';
        }
    }
    $boards = listBoards();
    foreach ($boards as &$_board) {
        setupBoard($_board);
        buildIndex();
    }
    $page['title'] = 'Installation complete';
    $page['body'] = '<p style="text-align:center">Thank you for using Tinyboard. Please remember to report any bugs you discover. <a href="http://tinyboard.org/docs/?p=Config">How do I edit the config files?</a></p>';
    if (!empty($sql_errors)) {
        $page['body'] .= '<div class="ban"><h2>SQL errors</h2><p>SQL errors were encountered when trying to install the database. This may be the result of using a database which is already occupied with a Tinyboard installation; if so, you can probably ignore this.</p><p>The errors encountered were:</p><ul>' . $sql_errors . '</ul><p><a href="?step=5">Ignore errors and complete installation.</a></p></div>';
    } else {
        file_write($config['has_installed'], VERSION);
        if (!file_unlink(__FILE__)) {
            $page['body'] .= '<div class="ban"><h2>Delete install.php!</h2><p>I couldn\'t remove <strong>install.php</strong>. You will have to remove it manually.</p></div>';
        }
    }
    echo Element('page.html', $page);
} elseif ($step == 5) {
    $page['title'] = 'Installation complete';
    $page['body'] = '<p style="text-align:center">Thank you for using Tinyboard. Please remember to report any bugs you discover.</p>';
开发者ID:niksfish,项目名称:Tinyboard,代码行数:31,代码来源:install.php

示例4: deletePost

function deletePost($id, $error_if_doesnt_exist = true, $rebuild_after = true)
{
    global $board, $config;
    // Select post and replies (if thread) in one query
    $query = prepare(sprintf("SELECT `id`,`thread`,`files` FROM ``posts_%s`` WHERE `id` = :id OR `thread` = :id", $board['uri']));
    $query->bindValue(':id', $id, PDO::PARAM_INT);
    $query->execute() or error(db_error($query));
    if ($query->rowCount() < 1) {
        if ($error_if_doesnt_exist) {
            error($config['error']['invalidpost']);
        } else {
            return false;
        }
    }
    $ids = array();
    // Delete posts and maybe replies
    while ($post = $query->fetch(PDO::FETCH_ASSOC)) {
        event('delete', $post);
        if (!$post['thread']) {
            // Delete thread HTML page
            @file_unlink($board['dir'] . $config['dir']['res'] . sprintf($config['file_page'], $post['id']));
            @file_unlink($board['dir'] . $config['dir']['res'] . sprintf($config['file_page50'], $post['id']));
            @file_unlink($board['dir'] . $config['dir']['res'] . sprintf('%d.json', $post['id']));
            $antispam_query = prepare('DELETE FROM ``antispam`` WHERE `board` = :board AND `thread` = :thread');
            $antispam_query->bindValue(':board', $board['uri']);
            $antispam_query->bindValue(':thread', $post['id']);
            $antispam_query->execute() or error(db_error($antispam_query));
        } elseif ($query->rowCount() == 1) {
            // Rebuild thread
            $rebuild =& $post['thread'];
        }
        if ($post['files']) {
            // Delete file
            foreach (json_decode($post['files']) as $i => $f) {
                if (isset($f->file, $f->thumb) && $f->file !== 'deleted') {
                    @file_unlink($config['dir']['img_root'] . $board['dir'] . $config['dir']['img'] . $f->file);
                    @file_unlink($config['dir']['img_root'] . $board['dir'] . $config['dir']['thumb'] . $f->thumb);
                }
            }
        }
        $ids[] = (int) $post['id'];
    }
    $query = prepare(sprintf("DELETE FROM ``posts_%s`` WHERE `id` = :id OR `thread` = :id", $board['uri']));
    $query->bindValue(':id', $id, PDO::PARAM_INT);
    $query->execute() or error(db_error($query));
    $query = prepare("SELECT `board`, `post` FROM ``cites`` WHERE `target_board` = :board AND (`target` = " . implode(' OR `target` = ', $ids) . ") ORDER BY `board`");
    $query->bindValue(':board', $board['uri']);
    $query->execute() or error(db_error($query));
    while ($cite = $query->fetch(PDO::FETCH_ASSOC)) {
        if ($board['uri'] != $cite['board']) {
            if (!isset($tmp_board)) {
                $tmp_board = $board['uri'];
            }
            openBoard($cite['board']);
        }
        rebuildPost($cite['post']);
    }
    if (isset($tmp_board)) {
        openBoard($tmp_board);
    }
    $query = prepare("DELETE FROM ``cites`` WHERE (`target_board` = :board AND (`target` = " . implode(' OR `target` = ', $ids) . ")) OR (`board` = :board AND (`post` = " . implode(' OR `post` = ', $ids) . "))");
    $query->bindValue(':board', $board['uri']);
    $query->execute() or error(db_error($query));
    if (isset($rebuild) && $rebuild_after) {
        buildThread($rebuild);
        buildIndex();
    }
    return true;
}
开发者ID:Cipherwraith,项目名称:infinity,代码行数:69,代码来源:functions.php

示例5: buildIndex

<?php

$language = 'eng';
function buildIndex($lang)
{
    $sb = '<!DOCTYPE html><html>' . buildHead() . buildBody($lang) . '</html>';
    print $sb;
}
function buildHead()
{
    return '<head></head>';
}
function buildBody($lang)
{
    return '<body>' . buildScripts($lang) . '</body>';
}
function buildScripts($lang)
{
    $sb = buildScript('config/' . $lang . '/strings') . buildScript('js/jquery') . buildScript('js/dictionary') . buildScript('js/user') . buildScript('js/core');
    return $sb;
}
function buildScript($url)
{
    return '<script src="' . $url . '.js"></script>';
}
buildIndex($language);
开发者ID:Vesprawn,项目名称:budget_buddy,代码行数:26,代码来源:payees.php

示例6: sb_api

function sb_api($b)
{
    global $config, $build_pages;
    if (!openBoard($b)) {
        return false;
    }
    $config['try_smarter'] = true;
    $build_pages = array(-1);
    buildIndex();
    return true;
}
开发者ID:0151n,项目名称:vichan,代码行数:11,代码来源:smart_build.php

示例7: mod_rebuild

function mod_rebuild()
{
    global $config, $twig;
    if (!hasPermission($config['mod']['rebuild'])) {
        error($config['error']['noaccess']);
    }
    if (isset($_POST['rebuild'])) {
        @set_time_limit($config['mod']['rebuild_timelimit']);
        $log = array();
        $boards = listBoards();
        $rebuilt_scripts = array();
        if (isset($_POST['rebuild_cache'])) {
            if ($config['cache']['enabled']) {
                $log[] = 'Flushing cache';
                Cache::flush();
            }
            $log[] = 'Clearing template cache';
            load_twig();
            $twig->clearCacheFiles();
        }
        if (isset($_POST['rebuild_themes'])) {
            $log[] = 'Regenerating theme files';
            rebuildThemes('all');
        }
        if (isset($_POST['rebuild_javascript'])) {
            $log[] = 'Rebuilding <strong>' . $config['file_script'] . '</strong>';
            buildJavascript();
            $rebuilt_scripts[] = $config['file_script'];
        }
        foreach ($boards as $board) {
            if (!(isset($_POST['boards_all']) || isset($_POST['board_' . $board['uri']]))) {
                continue;
            }
            openBoard($board['uri']);
            $config['try_smarter'] = false;
            if (isset($_POST['rebuild_index'])) {
                buildIndex();
                $log[] = '<strong>' . sprintf($config['board_abbreviation'], $board['uri']) . '</strong>: Creating index pages';
            }
            if (isset($_POST['rebuild_javascript']) && !in_array($config['file_script'], $rebuilt_scripts)) {
                $log[] = '<strong>' . sprintf($config['board_abbreviation'], $board['uri']) . '</strong>: Rebuilding <strong>' . $config['file_script'] . '</strong>';
                buildJavascript();
                $rebuilt_scripts[] = $config['file_script'];
            }
            if (isset($_POST['rebuild_thread'])) {
                $query = query(sprintf("SELECT `id` FROM ``posts_%s`` WHERE `thread` IS NULL", $board['uri'])) or error(db_error());
                while ($post = $query->fetch(PDO::FETCH_ASSOC)) {
                    $log[] = '<strong>' . sprintf($config['board_abbreviation'], $board['uri']) . '</strong>: Rebuilding thread #' . $post['id'];
                    buildThread($post['id']);
                }
            }
        }
        mod_page(_('Rebuild'), 'mod/rebuilt.html', array('logs' => $log));
        return;
    }
    mod_page(_('Rebuild'), 'mod/rebuild.html', array('boards' => listBoards(), 'token' => make_secure_link_token('rebuild')));
}
开发者ID:vicentil,项目名称:vichan,代码行数:57,代码来源:pages.php

示例8: mod_8_settings


//.........这里部分代码省略.........
\$config['allow_delete'] = {$allow_delete};
\$config['anonymous'] = base64_decode('{$anonymous}');
\$config['blotter'] = base64_decode('{$blotter}');
\$config['stylesheets']['Custom'] = 'board/{$b}.css';
\$config['default_stylesheet'] = array('Custom', \$config['stylesheets']['Custom']);
\$config['captcha']['enabled'] = {$captcha};
\$config['force_subject_op'] = {$force_subject_op};
\$config['force_flag'] = {$force_flag};
\$config['tor_posting'] = {$tor_posting};
\$config['tor_image_posting'] = {$tor_image_posting};
\$config['robot_enable'] = {$robot_enable};
\$config['new_thread_capt'] = {$new_thread_capt};
\$config['hour_max_threads'] = {$hour_max_threads};
\$config['reply_limit'] = {$reply_limit};
\$config['max_pages'] = {$max_pages};
\$config['max_newlines'] = {$max_newlines};
\$config['oekaki'] = {$oekaki};
\$config['min_body'] = {$min_body};
\$config['mod']['view_bumplock'] = {$view_bumplock};
{$code_tags} {$katex} {$replace} {$multiimage} {$allow_flash} {$allow_pdf} {$user_flags} 
{$assets}
{$locale}
{$anal_filenames}
{$file_board}

if (\$config['disable_images'])
\t\$config['max_pages'] = 10000;

{$add_to_config}
EOT;
        // Clean up our CSS...no more expression() or off-site URLs.
        $clean_css = preg_replace('/expression\\s*\\(/', '', $_POST['css']);
        $matched = array();
        preg_match_all("#{$config['link_regex']}#im", $clean_css, $matched);
        if (isset($matched[0])) {
            foreach ($matched[0] as $match) {
                $match_okay = false;
                foreach ($config['allowed_offsite_urls'] as $allowed_url) {
                    if (strpos($match, $allowed_url) !== false && strpos($match, '#') === false && strpos($match, '?') === false && strpos($match, ';') === false) {
                        $match_okay = true;
                    }
                }
                if ($match_okay !== true) {
                    error(sprintf(_("Off-site link \"%s\" is not allowed in the board stylesheet"), $match));
                }
            }
        }
        //Filter out imports from sites with potentially unsafe content
        $match_imports = '@import[^;]*';
        $matched = array();
        preg_match_all("#{$match_imports}#im", $clean_css, $matched);
        $unsafe_import_urls = array('https://a.pomf.se/');
        if (isset($matched[0])) {
            foreach ($matched[0] as $match) {
                $match_okay = true;
                foreach ($unsafe_import_urls as $unsafe_import_url) {
                    if (strpos($match, $unsafe_import_url) !== false && strpos($match, '#') === false) {
                        $match_okay = false;
                    }
                }
                if ($match_okay !== true) {
                    error(sprintf(_("Potentially unsafe import \"%s\" is not allowed in the board stylesheet"), $match));
                }
            }
        }
        $query = query('SELECT `uri`, `title`, `subtitle` FROM ``boards`` WHERE `8archive` = TRUE');
        file_write('8archive.json', json_encode($query->fetchAll(PDO::FETCH_ASSOC)));
        file_write($b . '/config.php', $config_file);
        file_write('stylesheets/board/' . $b . '.css', $clean_css);
        $_config = $config;
        unset($config['wordfilters']);
        // Faster than openBoard and bypasses cache...we're trusting the PHP output
        // to be safe enough to run with every request, we can eval it here.
        eval(str_replace('flags.php', "{$b}/flags.php", preg_replace('/^\\<\\?php$/m', '', $config_file)));
        // czaks: maybe reconsider using it, now that config is cached?
        // be smarter about rebuilds...only some changes really require us to rebuild all threads
        if ($_config['captcha']['enabled'] != $config['captcha']['enabled'] || $_config['new_thread_capt'] != $config['new_thread_capt'] || $_config['captcha']['extra'] != $config['captcha']['extra'] || $_config['blotter'] != $config['blotter'] || $_config['field_disable_name'] != $config['field_disable_name'] || $_config['show_sages'] != (isset($config['show_sages']) && $config['show_sages'])) {
            buildIndex();
            $query = query(sprintf("SELECT `id` FROM ``posts_%s`` WHERE `thread` IS NULL", $b)) or error(db_error());
            while ($post = $query->fetch(PDO::FETCH_ASSOC)) {
                buildThread($post['id']);
            }
        }
        modLog('Edited board settings', $b);
    }
    $query = prepare('SELECT * FROM boards WHERE uri = :board');
    $query->bindValue(':board', $b);
    $query->execute() or error(db_error($query));
    $board = $query->fetchAll()[0];
    // Clean the cache
    if ($config['cache']['enabled']) {
        cache::delete('board_' . $board['uri']);
        cache::delete('all_boards');
        cache::delete('config_' . $board['uri']);
        cache::delete('events_' . $board['uri']);
        unlink('tmp/cache/locale_' . $board['uri']);
    }
    $css = @file_get_contents('stylesheets/board/' . $board['uri'] . '.css');
    mod_page(_('Board configuration'), 'mod/settings.html', array('board' => $board, 'css' => prettify_textarea($css), 'token' => make_secure_link_token('settings/' . $board['uri']), 'languages' => $possible_languages, 'allowed_urls' => $config['allowed_offsite_urls']));
}
开发者ID:ringtech,项目名称:infinity,代码行数:101,代码来源:8chan-mod-pages.php


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