otable.io)"; $content .= "\n"; return $content; } } // get_daily_quote /*************************************************************************************************/ function get_official_joke() { // https://rapidapi.com/andruxnet/api/random-famous-quotes/ // {"type":"general","setup":"What do you call an alligator in a vest?","punchline":"An in-vest-igator!","id":220} $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://official-joke-api.appspot.com/random_joke", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => [ "content-type: application/json" ], ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { // echo "cURL Error #:" . $err; } else { //// echo $response. "
\n"; $responseData = json_decode($response); $content = "- " . $responseData->setup . "
\n"; $content .= "- " . $responseData->punchline . "
\n"; // $content .= "(appspot.com random_joke)"; return "
\n$content"; } } // get_official_joke() /*************************************************************************************************/ function get_sp_one_joke() { // "SELECT * FROM db_a616e0_sixpark.bbs_sp_joke where hidden<>'y' ORDER BY RAND() LIMIT 1" $sql = "SELECT * FROM db_a616e0_sixpark.bbs_sp_joke WHERE sp_joke_id >= FLOOR(RAND()*(SELECT MAX(sp_joke_id) FROM db_a616e0_sixpark.bbs_sp_joke )) LIMIT 1"; $jokeObj = db_sql_find_one($sql); return $jokeObj; // array like below /* sp_joke from DB: Array ( [sp_joke_id] => 30 [title] => 异口同声 [content] => 公司有个拉货用的车,这两天可能运气不太好被抓了两次,今天早上又去送货,又在同样的路口被抓了……我开门下来和警察对视了三秒两人异口同声的说:怎么又是你,你这是要包月啊…… [source] => SixParker [image_url] => [categories] => Generic [hidden] => n [entered_on] => 2023-03-28 09:49:39 ) */ } // get_sp_joke() function get_sp_jokes($selection, $limit) { // "SELECT * FROM db_a616e0_sixpark.bbs_sp_joke where hidden<>'y' ORDER BY RAND() LIMIT 1" $query = "SELECT * FROM db_a616e0_sixpark.bbs_sp_joke "; if ($selection == "random") { $query .= " WHERE sp_joke_id >= FLOOR(RAND()*(SELECT MAX(sp_joke_id) FROM db_a616e0_sixpark.bbs_sp_joke )) LIMIT $limit"; } else { $query .= " Order By sp_joke_id DESC LIMIT $limit"; } $cond = array(); $orderby = array('sp_joke_id' => 'desc'); $page = 1; $pagesize = $limit; $jokeRows = db_sql_find($query); // $jokeRows = db_find('sp_joke', $cond, $orderby, $page, $pagesize, 'sp_joke_id'); // $jokesInfo = print_r($jokeRows, TRUE); // spLog("get_sp_jokes()\n$jokesInfo", "sixparker_func"); return $jokeRows; } // get_sp_jokes() // $grouplist = group_find(); // function group_find($cond = array(), $orderby = array('gid'=>1), $page = 1, $pagesize = 1000) { // // $grouplist = group__find($cond, $orderby, $page, $pagesize); // if($grouplist) foreach ($grouplist as &$group) group_format($group); // // return $grouplist; // } // function group__find($cond = array(), $orderby = array(), $page = 1, $pagesize = 1000) { // // $grouplist = db_find('group', $cond, $orderby, $page, $pagesize, 'gid'); // // return $grouplist; // } /*************************************************************************************************/ function sp_joke_to_html($joke) { if (!isset($joke)) return ""; $find = array('\r\n', '\n', "\\r"); $replace = '
'; $content = str_replace($find, $replace, $joke['content']); $title = $joke['title']; $image_url = $joke['image_url']; $source = $joke['source']; // echo "
"; $html = ""; if (!empty($title)) { $html = "$title
\n"; } $html .= "$content
\n"; if (!empty($image_url)) { $html .= "
"; } $html .= "$source"; // $html .= "
\nsp_joke @ " . date("Y-m-d h:i:s") . "\n
\n"; return $html; } // sp_joke_to_html() /*************************************************************************************************/ function get_sp_promotions($category, $limit) { // "SELECT * FROM db_a616e0_sixpark.bbs_sp_promotion where hidden<>'y' ORDER BY RAND() LIMIT 1" $query = "SELECT p.*, v.vendor_logo, v.vendor_desc FROM db_a616e0_sixpark.bbs_sp_promotion p INNER JOIN bbs_sp_promo_vendor v ON p.vendor = v.vendor_name "; // $query = "SELECT * FROM db_a616e0_sixpark.bbs_sp_promotion "; $query .= " Order By promotion_id DESC LIMIT $limit"; $cond = array('Category'=>$category); $orderby = array('promotion_id' => 'desc'); $page = 1; $pagesize = $limit; $promoRows = db_sql_find($query); // $promotionRows = db_find('sp_promotion', $cond, $orderby, $page, $pagesize, 'promotion_id'); $promotionInfo = print_r($promoRows, TRUE); // spLog("get_sp_promotions($category, $limit):$query\n$promotionInfo", "sixparker_func"); return $promoRows; } // get_sp_promotions() function promo_db_read($promo_id) { $promo = db_find_one('sp_promotion', array('promotion_id'=>$promo_id)); spLog("promo", "sp_func", $promo); return $promo; } // promo_db_read function sp_promotion_to_html($promotion) { if (!isset($promotion)) return ""; $find = array('\r\n', '\n', "\\r"); $replace = '
'; $brief = $promotion['brief'] ? str_replace($find, $replace, $promotion['brief']) : ""; $details = $promotion['details'] ? str_replace($find, $replace, $promotion['details']) : ""; $title = $promotion['title']; $link = $promotion['link']; $image_icon = $promotion['image_icon']; $image_main = $promotion['image_main']; $source = $promotion['contributor']; $vendor_logo = $promotion['vendor_logo']; $vendor_desc = $promotion['vendor_desc']; // echo "
"; $html = ""; // if (!empty($title)) // { // $html = "$title
\n"; // } $html .= "$brief
\n"; $html .= "$details
\n"; if (!empty($image_icon)) { $html .= "
"; } // if (!empty($image_main)) // { // $html .= "
"; // } if (!empty($link)) { $html .= "Check it!
"; } if ($vendor_desc) { $html .= "$vendor_desc>"; } $html .= "$source"; // $html .= "
\nsp_promotion @ " . date("Y-m-d h:i:s") . "\n
\n"; return $html; } // sp_promotion_to_html() /*************************************************************************************************/ function vendor_db_read($vendor_name) { $vendor = db_find_one('sp_promo_vendor', array('vendor'=>$vendor_name)); return $vendor; } // vendor_db_read /*************************************************************************************************/ // bbs_sp_user /*************************************************************************************************/ function get_sp_user_cache($argUid) { if($argUid == 0) return array(); // emoty array global $g_static_users; $sp_uid = "sp_user-$argUid"; if(isset($g_static_users[$sp_uid])) return $g_static_users[$sp_uid]; $spUser = cache_get($sp_uid); if($spUser === NULL) { $spUser = _get_sp_user($argUid); spLog("Read sp_user from DB @ " . $argUid, "sixparker_func"); $spUserInfo = print_r($spUser, TRUE); spLog("SP User Info @ " . $argUid, "sixparker_func", $spUser); cache_set($sp_uid, $spUser, 1800); // seconds $g_static_users[$sp_uid] = $spUser; } return $spUser; } // get_sp_user_cache() function _get_sp_user($argUid) { if(empty($argUid)) return array(); $argUid = intval($argUid); $sp_user = db_sql_find_one("select * from bbs_sp_user where uid=$argUid"); if ($sp_user){ $sp_user['avatar_url'] = 'view/img/avatar.png'; return $sp_user ; } else return array(); } // _get_sp_user function get_sp_users($permission) { // "SELECT * FROM db_a616e0_sixpark.bbs_sp_user where hidden<>'y' ORDER BY RAND() LIMIT 1" $query = "SELECT * FROM db_a616e0_sixpark.bbs_sp_user "; if (!empty($permission)) { $query .= " WHERE permission like %" . $permission . "%"; } $cond = array(); $orderby = array('username' => 'asc'); $userRows = db_sql_find($query); return $userRows; } // get_sp_users() /*************************************************************************************************/ function GetEnvInfo($conf){ $envinfo = ""; $envinfo .= "conf: $conf\n"; // $envinfo .= "header: $header\n"; // $envinfo .= "menu: $menu\n"; // $envinfo .= "route: $route\n"; // $envinfo .= "static_version: $static_version\n"; // $envinfo .= "user: " . print_r($user, TRUE) . "\n"; // $envinfo .= "HTTP_HOST: " . $_SERVER['HTTP_HOST'] . "\n"; // $envinfo .= "uid: $uid - gid: $gid - fid: $fid\n"; // $envinfo .= "tid: $tid - pid: $pid\n"; // 0 // $envinfo .= "forumlist_show: $forumlist_show\n"; return $envinfo; } // GetEnvInfo() /*************************************************************************************************/ function delTree($dir) { $files = array_diff(scandir($dir), array('.','..')); foreach ($files as $file) { (is_dir("$dir/$file")) ? delTree("$dir/$file") : unlink("$dir/$file"); } return rmdir($dir); } // delTree() /*************************************************************************************************/ function printInfo($prefix, $content, $suffix = "
\n") { echo "$prefix: $content $suffix"; } // printInfo() function shortenFileSize($size) { $unit = array('b', 'kb', 'mb', 'gb', 'tb', 'pb'); return @round($size / pow(1024, ($i = floor(log($size, 1024)))), 2) . ' ' . $unit[$i]; } // shortenFileSize() /*************************************************************************************************/ ?>