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()
/*************************************************************************************************/
?>