亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dbabase.php

?? PhpWiki是sourceforge的一個開源項目
?? PHP
?? 第 1 頁 / 共 2 頁
字號:
            $pages[] = $page;        }        return new WikiDB_backend_dbaBase_pageiter($this, $pages,                                                    array('sortby'=>$sortby,                                                         'limit' =>$limit));    }    function set_links($pagename, $links) {        $this->_linkdb->set_links($pagename, $links);    }    function get_links($pagename, $reversed=true, $include_empty=false,                       $sortby=false, $limit=false, $exclude=false) {        $links = $this->_linkdb->get_links($pagename, $reversed);        return new WikiDB_backend_dbaBase_pageiter($this, $links,                                                    array('sortby'=>$sortby,                                                         'limit' =>$limit,                                                         'exclude'=>$exclude,                                                         ));    }};function WikiDB_backend_dbaBase_sortby_pagename_ASC ($a, $b) {    return strcasecmp($a, $b);}function WikiDB_backend_dbaBase_sortby_pagename_DESC ($a, $b) {    return strcasecmp($b, $a);}function WikiDB_backend_dbaBase_sortby_mtime_ASC ($a, $b) {    return WikiDB_backend_dbaBase_sortby_num($a, $b, 'mtime');}function WikiDB_backend_dbaBase_sortby_mtime_DESC ($a, $b) {    return WikiDB_backend_dbaBase_sortby_num($b, $a, 'mtime');}/*function WikiDB_backend_dbaBase_sortby_hits_ASC ($a, $b) {    return WikiDB_backend_dbaBase_sortby_num($a, $b, 'hits');}function WikiDB_backend_dbaBase_sortby_hits_DESC ($a, $b) {    return WikiDB_backend_dbaBase_sortby_num($b, $a, 'hits');}*/function WikiDB_backend_dbaBase_sortby_num($aname, $bname, $field) {    global $request;    $dbi = $request->getDbh();    // fields are stored in versiondata    $av = $dbi->_backend->get_latest_version($aname);    $bv = $dbi->_backend->get_latest_version($bname);    $a = $dbi->_backend->get_versiondata($aname, $av, false);    if (!$a) return 0;    $b = $dbi->_backend->get_versiondata($bname, $bv, false);    if (!$b) return 0;    if ((!isset($a[$field]) && !isset($b[$field])) || ($a[$field] === $b[$field])) {        return 0;     } else {        return (!isset($a[$field]) || ($a[$field] < $b[$field])) ? -1 : 1;    }}class WikiDB_backend_dbaBase_pageiterextends WikiDB_backend_iterator{    function WikiDB_backend_dbaBase_pageiter(&$backend, &$pages, $options=false) {        $this->_backend = $backend;        $this->_options = $options;        if ($pages) {             if (!empty($options['sortby'])) {                $sortby = WikiDB_backend::sortby($options['sortby'], 'db', array('pagename','mtime'));                if ($sortby and !strstr($sortby, "hits ")) { // check for which column to sortby                    usort($pages, 'WikiDB_backend_dbaBase_sortby_'.str_replace(' ','_',$sortby));                }            }            if (!empty($options['limit'])) {                list($offset,$limit) = WikiDB_backend::limit($options['limit']);                $pages = array_slice($pages, $offset, $limit);            }            $this->_pages = $pages;        } else             $this->_pages = array();    }    function next() {        if ( ! ($next = array_shift($this->_pages)) )            return false;        if (!empty($options['exclude']) and in_array($next, $options['exclude']))            return $this->next();        return array('pagename' => $next);    }                function count() {        return count($this->_pages);    }    function asArray() {        reset($this->_pages);        return $this->_pages;    }    function free() {        $this->_pages = array();    }};class WikiDB_backend_dbaBase_linktable {    function WikiDB_backend_dbaBase_linktable(&$dba) {        $this->_db = &$dba;    }    //FIXME: try storing link lists as hashes rather than arrays.    // (backlink deletion would be faster.)    function get_links($page, $reversed=true) {        return $this->_get_links($reversed ? 'i' : 'o', $page);    }        function set_links($page, $newlinks) {        $oldlinks = $this->_get_links('o', $page);        if (!is_array($newlinks)) {            assert(empty($newlinks));            $newlinks = array();        }        else {            $newlinks = array_unique($newlinks);        }        sort($newlinks);        $this->_set_links('o', $page, $newlinks);        reset($newlinks);        reset($oldlinks);        $new = current($newlinks);        $old = current($oldlinks);        while ($new !== false || $old !== false) {            if ($old === false || ($new !== false && $new < $old)) {                // $new is a new link (not in $oldlinks).                $this->_add_backlink($new, $page);                $new = next($newlinks);            }            elseif ($new === false || $old < $new) {                // $old is a obsolete link (not in $newlinks).                $this->_delete_backlink($old, $page);                $old = next($oldlinks);            }            else {                // Unchanged link (in both $newlist and $oldlinks).                assert($new == $old);                $new = next($newlinks);                $old = next($oldlinks);            }        }    }    /**     * Rebuild the back-link index.     *     * This should never be needed, but if the database gets hosed for some reason,     * this should put it back into a consistent state.     *     * We assume the forward links in the our table are correct, and recalculate     * all the backlinks appropriately.     */    function rebuild () {        $db = &$this->_db;        // Delete the backlink tables, make a list of page names.        $okeys = array();        $ikeys = array();        for ($key = $db->firstkey(); $key; $key = $db->nextkey()) {            if ($key[0] == 'i')                $ikeys[] = $key;            elseif ($key[0] == 'o')                $okeys[] = $key;            else {                trigger_error("Bad key in linktable: '$key'", E_USER_WARNING);                $ikeys[] = $key;            }        }        foreach ($ikeys as $key) {            $db->delete($key);        }        foreach ($okeys as $key) {            $page = substr($key,1);            $links = $this->_get_links('o', $page);            $db->delete($key);            $this->set_links($page, $links);        }    }    function check() {        $db = &$this->_db;        // FIXME: check for sortedness and uniqueness in links lists.        for ($key = $db->firstkey(); $key; $key = $db->nextkey()) {            if (strlen($key) < 1 || ($key[0] != 'i' && $key[0] != 'o')) {                $errs[] = "Bad key '$key' in table";                continue;            }            $page = substr($key, 1);            if ($key[0] == 'o') {                // Forward links.                foreach($this->_get_links('o', $page) as $link) {                    if (!$this->_has_link('i', $link, $page))                        $errs[] = "backlink entry missing for link '$page'->'$link'";                }            }            else {                assert($key[0] == 'i');                // Backlinks.                foreach($this->_get_links('i', $page) as $link) {                    if (!$this->_has_link('o', $link, $page))                        $errs[] = "link entry missing for backlink '$page'<-'$link'";                }            }        }        return isset($errs) ? $errs : false;    }                function _add_backlink($page, $linkedfrom) {        $backlinks = $this->_get_links('i', $page);        $backlinks[] = $linkedfrom;        sort($backlinks);        $this->_set_links('i', $page, $backlinks);    }        function _delete_backlink($page, $linkedfrom) {        $backlinks = $this->_get_links('i', $page);        foreach ($backlinks as $key => $backlink) {            if ($backlink == $linkedfrom)                unset($backlinks[$key]);        }        $this->_set_links('i', $page, $backlinks);    }        function _has_link($which, $page, $link) {        $links = $this->_get_links($which, $page);        foreach($links as $l) {            if ($l == $link)                return true;        }        return false;    }        function _get_links($which, $page) {        $data = $this->_db->get($which . $page);        return $data ? unserialize($data) : array();    }    function _set_links($which, $page, &$links) {        $key = $which . $page;        if ($links)            $this->_db->set($key, serialize($links));        else            $this->_db->set($key, false);    }}// (c-file-style: "gnu")// Local Variables:// mode: php// tab-width: 8// c-basic-offset: 4// c-hanging-comment-ender-p: nil// indent-tabs-mode: nil// End:   ?>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女性喷水在线观看一区| 色婷婷综合久久久中文字幕| 日韩精品一区二区三区在线| 美洲天堂一区二卡三卡四卡视频| 91精品国产色综合久久久蜜香臀| 免费精品视频在线| 日韩欧美成人一区| 国产成人av电影在线播放| 国产欧美日韩三区| 99re热这里只有精品免费视频 | 丝袜美腿成人在线| 欧美一卡二卡三卡| 国产福利电影一区二区三区| 国产精品福利一区二区| 欧美无砖专区一中文字| 久久精品国产99| 国产视频亚洲色图| 日本韩国欧美在线| 久久99久久99| 国产精品三级av在线播放| 在线视频综合导航| 九九九精品视频| 综合电影一区二区三区| 欧美肥妇bbw| 风间由美中文字幕在线看视频国产欧美| 国产女人aaa级久久久级| 欧美影院午夜播放| 国产在线播精品第三| 亚洲精品成a人| 欧美大黄免费观看| 在线观看免费亚洲| 国产精品夜夜爽| 亚洲韩国精品一区| 日本一区二区不卡视频| 6080日韩午夜伦伦午夜伦| 成人午夜在线视频| 美女网站在线免费欧美精品| 《视频一区视频二区| 欧美va亚洲va| 在线看一区二区| 国产精品1区2区3区| 亚洲国产成人av| 国产精品夫妻自拍| 精品sm捆绑视频| 欧美日本一道本| 91网址在线看| 国产成都精品91一区二区三| 无吗不卡中文字幕| 亚洲三级电影全部在线观看高清| 精品国产免费人成电影在线观看四季 | 大美女一区二区三区| 日韩精品高清不卡| 亚洲自拍与偷拍| 国产精品久久久一本精品 | 国产成人av电影在线| 日韩和欧美一区二区三区| 亚洲日本在线天堂| 中文字幕av资源一区| 久久亚洲精品国产精品紫薇| 91麻豆精品国产无毒不卡在线观看| 99精品国产99久久久久久白柏| 国产大片一区二区| 加勒比av一区二区| 蜜臀av一区二区三区| 亚洲午夜精品17c| 亚洲色图.com| 亚洲人123区| 亚洲人成精品久久久久久| 国产色产综合色产在线视频| 日韩限制级电影在线观看| 欧美精品一二三| 欧美丰满高潮xxxx喷水动漫| 欧美电影影音先锋| 欧美乱妇15p| 欧美一二区视频| 欧美片网站yy| 欧美一区二区人人喊爽| 制服丝袜在线91| 欧美一级艳片视频免费观看| 91麻豆精品国产91久久久更新时间| 欧美精品九九99久久| 欧美精品一级二级| 欧美一区二区在线播放| 欧美一卡二卡在线| 久久先锋影音av| 国产拍欧美日韩视频二区| 欧美国产激情一区二区三区蜜月| 国产日韩欧美a| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美放荡的少妇| 6080yy午夜一二三区久久| 日韩影院在线观看| 麻豆成人免费电影| 国内外成人在线| 国产精品小仙女| 成人白浆超碰人人人人| 色999日韩国产欧美一区二区| 久久机这里只有精品| 欧美日韩成人综合| 56国语精品自产拍在线观看| 91精品国产综合久久小美女 | 91首页免费视频| 色妹子一区二区| 777xxx欧美| 国产天堂亚洲国产碰碰| 中文字幕在线观看一区| 亚洲电影中文字幕在线观看| 另类小说色综合网站| 高清不卡一区二区| 在线观看一区二区视频| 欧美精品一区二区在线播放| 中文子幕无线码一区tr| 性做久久久久久免费观看| 韩国精品主播一区二区在线观看| 成人伦理片在线| 56国语精品自产拍在线观看| 欧美激情中文字幕一区二区| 一区二区三区免费网站| 狠狠色丁香久久婷婷综| 99久久伊人久久99| 日韩视频在线一区二区| 中文字幕日韩欧美一区二区三区| 日韩高清电影一区| 日韩一区二区三区在线| 久久蜜桃一区二区| 亚洲精品水蜜桃| 蜜臀av在线播放一区二区三区| 国产白丝网站精品污在线入口| 欧美色倩网站大全免费| 久久久午夜电影| 午夜久久久久久电影| www.欧美日韩国产在线| 精品欧美一区二区久久| 亚洲自拍与偷拍| bt7086福利一区国产| 精品日韩在线观看| 亚洲电影中文字幕在线观看| 欧美成人video| 亚洲线精品一区二区三区八戒| 国产馆精品极品| 欧美xxxx在线观看| 亚洲大型综合色站| 99精品黄色片免费大全| 久久久777精品电影网影网| 热久久一区二区| 欧美日韩一区二区三区四区五区| 亚洲欧洲在线观看av| 国产一区视频在线看| 欧美一级二级在线观看| 亚洲午夜激情av| 在线视频中文字幕一区二区| 亚洲欧洲一区二区三区| 福利一区二区在线| 久久久精品综合| 国产原创一区二区| 亚洲精品一区二区三区99| 蜜臀久久久99精品久久久久久| 欧美日韩免费电影| 亚洲制服丝袜av| 在线观看亚洲成人| 亚洲精品中文字幕在线观看| 91丨porny丨在线| 亚洲欧美一区二区三区极速播放| 夫妻av一区二区| 国产精品灌醉下药二区| 成人国产电影网| 最新不卡av在线| 91论坛在线播放| 一区二区在线观看视频在线观看| 91一区二区在线| 一二三区精品福利视频| 91国偷自产一区二区三区成为亚洲经典 | 91在线视频网址| 中文字幕在线观看不卡| 成人av资源下载| 亚洲素人一区二区| 色婷婷激情综合| 亚洲国产精品一区二区www在线| 在线观看欧美日本| 婷婷成人激情在线网| 欧美一二三四区在线| 国产一区二区精品在线观看| 久久网站最新地址| av中文字幕一区| 亚洲乱码国产乱码精品精98午夜| 日本久久一区二区| 日本最新不卡在线| 久久免费偷拍视频| 91免费视频大全| 日韩av不卡一区二区| 久久免费偷拍视频| 色哟哟一区二区在线观看| 中文字幕第一区| 亚洲综合网站在线观看| 91福利社在线观看| 全部av―极品视觉盛宴亚洲| 久久午夜老司机| 91麻豆免费看| 国产乱人伦精品一区二区在线观看| 国产精品欧美一区二区三区|