query("SELECT `username`, `pwd` FROM `user` WHERE `username` = '%s' AND `pwd` = '%s'",array($username, cavern_password_hash($password, $username))); if ($login->num_rows > 0) { $_SESSION['cavern_username'] = $username; return 1; } else { return -1; } } else { return -1; } } function cavern_logout() { $_SESSION['cavern_username'] = NULL; unset($_SESSION['cavern_username']); return 1; } function cavern_password_hash($value, $salt) { $temp = substr(sha1(strrev($value).$salt), 0, 24); return hash('sha512', $temp.$value); } function cavern_query_result($query, $data=array()) { global $SQL; $result['query'] = $SQL->query($query, $data); $result['row'] = $result['query']->fetch_assoc(); $result['num_rows'] = $result['query']->num_rows; if ($result['num_rows'] > 0) { return $result; } else { return -1; } } function cavern_level_to_role($level) { switch ($level) { case 9: $role = "站長"; break; case 8: $role = "管理員"; break; case 1: $role = "作者"; break; case 0: $role = "會員"; break; default: $role = "麥克雞塊"; break; } return $role; } function cavern_greeting() { $hour = date('G'); if ($hour >= 21 || $hour < 5) { $greeting = "晚安"; } else if ($hour >= 12) { $greeting = "午安"; } else if ($hour >= 5 && $hour < 12) { $greeting = "早安"; } return $greeting; } function cavern_pages($now_page, $total, $limit) { $text='
'; $text.=''; $text.='
'; return $text; } function sumarize($string, $limit) { $count = 0; $text = ""; $content_start = FALSE; foreach (explode("\n", $string) as $line) { if (trim($line) != "" && $content_start == FALSE) { $content_start = TRUE; // don't count the empty line until the main content } if (!$content_start) { continue; } $count++; $text.=$line."\n"; if ($count == $limit || mb_strlen($text) >= 200) { if (mb_strlen($text) >= 200) { $text = mb_substr($text, 0, 200)."...\n"; } $text.="...(還有更多)\n"; break; } } return $text; }