/** * 话题详情 **/ public function detail() { $forum_id = input_int($this->input->get('forum'), 1000, FALSE, FALSE, '6003'); $forum = $this->model->get_forum_by_forum_id($forum_id); if (!$forum || $forum['is_delete']) { response_code('6004'); } $forum_detail = $this->model->get_forum_detail_by_forum_id($forum['type'], $forum_id); $user_id = $this->get_user_id(); if ($user_id) { $forum['is_fav'] = $this->model->check_forum_fav($forum_id, $user_id); $forum['is_like'] = $this->model->check_forum_like($forum_id, $user_id); } $this->model->forum_look($forum_id); $forum = array_merge($forum, $forum_detail); $forum['create_time'] = showTime($forum['create_time']); response_json('1', $forum); }
/** * 圈子首页获取列表 **/ public function get() { $type = input_string($this->input->get('type'), array('live', 'wenda', 'jianren', 'tour', 'rank'), 'live'); $last_id = input_int($this->input->get('lastid'), 0, FALSE, 0); $limit = input_int($this->input->get('limit'), 1, 50, 10); $list = array(); if ($type == 'rank') { $page = input_int($this->input->get('page'), 1, FALSE, 1); $perpage = input_int($this->input->get('limit'), 1, 50, 20); $user_id = $this->get_user_id(); $list = $this->model->get_groups($user_id, $page, $perpage); } else { $forum_index = $this->model->get_group_forum($type, $last_id, $limit); if ($forum_index) { $forum_detail = $this->model->get_forum_detail($forum_index); //获取列表所需数据 用户信息等 foreach ($forum_index as $key => $row) { $row['create_time'] = showTime($row['create_time']); $list[] = array_merge($row, $forum_detail[$row['forum_id']]); } } } response_row($list); }
public function get_forum_post($forum_id, $page, $perpage) { //此处需要缓存 $cond = array('table' => 'forum_post', 'fields' => '*', 'where' => array('forum_id' => $forum_id, 'reply_pid' => 0, 'is_delete' => 0)); $pagerInfo = array('cur_page' => $page, 'per_page' => $perpage); $list = $this->get_all($cond, $pagerInfo); if ($list) { $searchReply = array(); foreach ($list as $key => $row) { $user_ids[] = $row['create_user']; if (!$row['replys']) { continue; } $tmp = explode(',', $row['replys']); foreach ($tmp as $k => $r) { if (!$r || $k == 2) { break; } $searchReply[] = $r; } } if ($searchReply) { $cond['fields'] = 'post_id,reply_pid,post_detail,create_user,reply_user'; $cond['where'] = 'post_id in (' . implode(',', $searchReply) . ') AND is_delete =0'; $rs = $this->get_all($cond); $post_reply = array(); if ($rs) { foreach ($rs as $key => $r) { $post_reply[$r['reply_pid']][] = $r; $user_ids[] = $r['create_user']; if ($r['reply_user']) { $user_ids[] = $r['reply_user']; } } } unset($rs); } //取出用户信息 拼装回帖的回帖 $user_ids = array_unique($user_ids); $user_info = $this->get_users_info_by_ids(implode(',', $user_ids)); foreach ($list as $key => $row) { $list[$key] = array_merge($list[$key], $user_info[$row['create_user']]); $list[$key]['create_time'] = showTime($list[$key]['create_time']); if (isset($post_reply[$row['post_id']])) { foreach ($post_reply[$row['post_id']] as $k => $r) { $r['create_name'] = $user_info[$r['create_user']]['nick_name']; $r['reply_name'] = $user_info[$r['reply_user']]['nick_name']; $list[$key]['reply'][] = $r; } } else { $list[$key]['reply'] = array(); } } } return $list; }
function parseAndReplaceAll($text, $slotback = '') { global $directdump; $directdump = false; //[sql.s1.field1.type] //[var.name.type] //[para.name] $newstring = ""; $oldpos = 0; $pos = strpos($text, "[", $oldpos); $ifs = array(); $cif = 0; $ifs[$cif] = false; while ($pos !== false) { //search for close $pos2 = strpos($text, "]", $pos); if ($pos2 !== false) { if ($ifs[$cif]) { //ignore only for an [endif] [fi] $token = substr($text, $pos + 1, $pos2 - $pos - 1); $arr = explode(".", $token); if ($arr[0] == 'if' || $arr[0] == '!if' || $arr[0] == 'nif') { $cif++; $ifs[$cif] = true; } if ($arr[0] == "endif" || $arr[0] == "fi") { $ifs[$cif] = false; $cif--; } $oldpos = $pos2 + 1; } else { if ($directdump) { echo substr($text, $oldpos, $pos - $oldpos); } else { $newstring .= substr($text, $oldpos, $pos - $oldpos); } $oldpos = $pos; //we have a token.. anallys $token = substr($text, $pos + 1, $pos2 - $pos - 1); if (strlen($token)) { $displaytype = ""; $displaypara = ""; $displayvalue = ""; $arr = explode(".", $token); $iftest = false; $ifnegative = false; if (isset($arr[0]) && ($arr[0] == 'if' || $arr[0] == '!if' || $arr[0] == 'nif')) { $iftest = true; if ($arr[0] == '!if' || $arr[0] == 'nif') { $ifnegative = true; } $iftestvalue = ""; if (isset($arr[1])) { $iftestvalue = $arr[1]; } for ($i = 2; $i < count($arr); $i++) { $arr[$i - 2] = $arr[$i]; } if (count($arr)) { unset($arr[count($arr) - 1]); } if (count($arr)) { unset($arr[count($arr) - 1]); } } if (isset($arr[1]) || $token == "fi" || $token == "endif") { switch ($arr[0]) { case 'endif': case 'fi': $oldpos = $pos2 + 1; $ifs[$cif] = false; $cif--; break; case 'sql': //valid $oldpos = $pos2 + 1; if (isset($arr[3])) { $displaytype = $arr[3]; } if (isset($arr[4])) { $displaypara = $arr[4]; } //get value if (isset($arr[1]) && isset($GLOBALS[$arr[1] . '_sql_conn'])) { if (isset($arr[2])) { $displayvalue = $GLOBALS[$arr[1] . '_sql_conn']->getvalue($arr[2]); } if ($displaytype == "fast" && isset($arr[2])) { $displayvalue = $GLOBALS[$arr[1] . '_sql_conn']->getvaluefast($arr[2]); if (isset($arr[4])) { $displaytype = $arr[4]; } if (isset($arr[5])) { $displaypara = $arr[5]; } } if ($displaytype == "mins") { $displaypara = $GLOBALS[$arr[1] . '_sql_conn']->getvalue($arr[2] . "_panala"); require_once "config/dateutils.php"; $diff = timediff($displayvalue, $displaypara, getLT("dateformat")); $secs = intval(timediffsecs($diff) / 60); $displayvalue = $secs; $displaypara = $arr[5]; } } else { if ($arr[1] == "conn") { if (isset($arr[2])) { $displayvalue = $GLOBALS[$arr[1]]->getvalue($arr[2]); } if ($displaytype == "fast" && isset($arr[2])) { $displayvalue = $GLOBALS[$arr[1]]->getvaluefast($arr[2]); if (isset($arr[4])) { $displaytype = $arr[4]; } if (isset($arr[5])) { $displaypara = $arr[5]; } } if ($displaytype == "mins") { $displaypara = $GLOBALS[$arr[1]]->getvalue($arr[2] . "_panala"); require_once "config/dateutils.php"; $diff = timediff($displayvalue, $displaypara, getLT("dateformat")); $secs = intval(timediffsecs($diff) / 60); $displayvalue = $secs; $displaypara = $arr[5]; } } } break; case 'var': case 'g': //valid $oldpos = $pos2 + 1; if (isset($arr[1])) { $displayvalue = $GLOBALS[$arr[1]]; } if (isset($arr[2])) { $displaytype = $arr[2]; } if (isset($arr[3])) { $displaypara = $arr[3]; } //get value break; case 'cache': $oldpos = $pos2 + 1; if (isset($arr[1])) { $displayvalue = cache_getvalue($arr[1]); } if (isset($arr[2])) { $displaytype = $arr[2]; } if (isset($arr[3])) { $displaypara = $arr[3]; } //get value break; case 'para': //valid $oldpos = $pos2 + 1; global $_control_replace_sql; if (isset($arr[1])) { $displayvalue = $_control_replace_sql('@' . $arr[1]); } if (isset($arr[2])) { $displaytype = $arr[2]; } if (isset($arr[3])) { $displaypara = $arr[3]; } break; case 'post': //valid $oldpos = $pos2 + 1; global $_POST; if (isset($arr[1]) && $_POST[$arr[1]] != "") { $displayvalue = '' . correctPostValue($_POST[$arr[1]]); } if (isset($arr[2])) { $displaytype = $arr[2]; } if (isset($arr[3])) { $displaypara = $arr[3]; } break; case 'posttags': //valid $oldpos = $pos2 + 1; global $_POST; if (isset($arr[1]) && $_POST[$arr[1]] != "") { $displayvalue = '' . correctPostValue(implode(",", $_POST[$arr[1]])); } if (isset($arr[2])) { $displaytype = $arr[2]; } if (isset($arr[3])) { $displaypara = $arr[3]; } break; case 'get': //valid $oldpos = $pos2 + 1; global $_GET; if (isset($arr[1]) && $_GET[$arr[1]] != "") { $displayvalue = '' . correctPostValue($_GET[$arr[1]]); } if (isset($arr[2])) { $displaytype = $arr[2]; } if (isset($arr[3])) { $displaypara = $arr[3]; } break; case 'config': case 'c': //valid $oldpos = $pos2 + 1; if (isset($arr[1])) { $displayvalue = getUserConfig($arr[1]); } if (isset($arr[2])) { $displaytype = $arr[2]; } if (isset($arr[3])) { $displaypara = $arr[3]; } break; case 'cookie': $oldpos = $pos2 + 1; if (isset($arr[1]) && isset($arr[2])) { $displayvalue = cookie_getvalue($arr[1], $arr[2]); } if (isset($arr[3])) { $displaytype = $arr[3]; } if (isset($arr[4])) { $displaypara = $arr[4]; } break; case 'session': case 's': //valid $oldpos = $pos2 + 1; if (isset($arr[1])) { $displayvalue = session_getvalue($arr[1]); } if (isset($arr[2])) { $displaytype = $arr[2]; } if (isset($arr[3])) { $displaypara = $arr[3]; } break; case 'utils': //valid $oldpos = $pos2 + 1; if (isset($arr[1])) { $displayvalue = $arr[1]; } if (isset($arr[2])) { $displaytype = $arr[2]; } if (isset($arr[3])) { $displaypara = $arr[3]; } break; case 'slot': //we have a callback $oldpos = $pos2 + 1; if (isset($arr[1])) { $displayvalue = $arr[1]; } if (isset($arr[2])) { $displaytype = $arr[2]; } if (isset($arr[3])) { $displaypara = $arr[3]; } if ($slotback != '') { $displayvalue = $slotback($displayvalue, $displaytype, $displaypara); $displaytype = ''; $displaypara = ''; } break; case 'call': //we have a callback $oldpos = $pos2 + 1; if (isset($arr[1])) { $displayvalue = $arr[1]; } if (isset($arr[2])) { $displaytype = $arr[2]; } if (isset($arr[3])) { $displaypara = $arr[3]; } $fn = $displayvalue; if (function_exists($fn)) { $displayvalue = $fn($displaytype, $displaypara); } else { $displayvalue = ''; } break; } } $displaypara = str_replace('^', '.', $displaypara); if ($iftest) { //we have an ok $cif++; $iftestvalue = str_replace('^', '.', $iftestvalue); if ($ifnegative) { if ($displayvalue != $iftestvalue) { $ifs[$cif] = false; } else { $ifs[$cif] = true; } } else { if ($displayvalue == $iftestvalue) { $ifs[$cif] = false; } else { $ifs[$cif] = true; } } } else { $oldnewstring = $newstring; if ($directdump) { $newstring = ''; } switch ($displaytype) { case 'lb': $newstring .= '['; break; case 'rb': $newstring .= ']'; break; case 'now': require_once "config/dateutils.php"; if ($displayvalue != "") { $newstring .= date($displayvalue); } else { $newstring .= showDate(date("Y-m-d"), getLT("dateformat")); } break; case 'date': require_once "config/dateutils.php"; if ($displaypara != "") { if ($displayvalue != "0000-00-00") { $newstring .= date(str_replace("~", ".", $displaypara), showDate($displayvalue, "time")); } } else { $newstring .= showDate($displayvalue, getLT("dateformat")); } break; case 'sqldate': require_once "config/dateutils.php"; $newstring .= getDateForMysql($displayvalue, getLT("dateformat")); break; case 'time': require_once "config/dateutils.php"; $newstring .= showTime($displayvalue); break; case 'intval': if ($displaypara != "") { $newstring .= bcadd($displayvalue, '0'); } else { $newstring .= intval($displayvalue); } break; case 'number': $newstring .= showNumber($displayvalue, $displaypara); break; case 'exnumber': $newstring .= number_format(floatval($displayvalue), $displaypara, '.', ''); break; case 'zeronumber': if (abs(round($displayvalue) - $displayvalue) <= 0.01) { $newstring .= showNumber(round($displayvalue), $displaypara); } else { $newstring .= showNumber($displayvalue, $displaypara); } break; case 'zeros': $newstring .= str_pad($displayvalue, $displaypara, "0", STR_PAD_LEFT); break; case 'spell': require_once "extern/numberspell.php"; if (isset($GLOBALS[$displaypara])) { $newstring .= spellNumber($displayvalue, $GLOBALS[$displaypara]); } else { $newstring .= spellNumber($displayvalue, getCurrentLang()); } break; case 'sqlescape': global $conn; if ($displaypara != "") { $newstring .= $conn->escape(substr($displayvalue, 0, intval($displaypara))); } else { $newstring .= $conn->escape($displayvalue); } break; case 'sqlvalues': global $conn; $myvalues = ''; $myarr = explode(",", $displayvalue); foreach ($myarr as $kkmk => $kkmv) { if ($myvalues != "") { $myvalues .= ","; } $myvalues .= "'" . $conn->escape($kkmv) . "'"; } if ($myvalues == "") { $myvalues = "''"; } $newstring .= $myvalues; break; case 'split': $sparr = explode(".", trim($displayvalue)); $newstring .= $sparr[intval($displaypara)]; break; case 'explode': $sparr = explode(" ", trim($displayvalue)); $newstring .= $sparr[intval($displaypara)]; break; case 'substr': if (intval($displaypara) < 0) { $newstring .= substr($displayvalue, intval($displaypara)); } else { $newstring .= substr($displayvalue, 0, intval($displaypara)); } break; case 'trim': $displayvalue = str_replace(" ", "", trim($displayvalue)); $displayvalue = str_replace(".", "", $displayvalue); $displayvalue = str_replace("-", "", $displayvalue); $displayvalue = str_replace("=", "", $displayvalue); $newstring .= $displayvalue; break; case 'html': $newstring .= str_replace("\n", "<br>", $displayvalue); break; case 'nohtml': $newstring .= strip_tags(html_entity_decode2($displayvalue)); break; case 'pin': $newstring .= substr(md5($displayvalue), intval($displaypara)); break; case 'lang': $newstring .= getLT($displayvalue); break; case 'upper': $newstring .= strtoupper($displayvalue); break; case 'caps': $newstring .= strtoupper(substr(getLT($displayvalue), 0, 1)) . strtolower(substr(getLT($displayvalue), 1)); break; case 'lower': $newstring .= strtolower($displayvalue); break; case 'adresa': $newstring .= strtoupper(str_ireplace("zip", "cod postal", $displayvalue)); break; case 'full': $newstring .= parseAndReplaceAll($displayvalue, $slotback); break; case 'easyread': $newstring .= strrev(join(str_split(strrev($displayvalue), 3), ".")); break; case 'phone': $displayvalue = str_replace("-", "", $displayvalue); $displayvalue = str_replace("/", "", $displayvalue); $displayvalue = str_replace(" ", "", $displayvalue); $displayvalue = str_replace(".", "", $displayvalue); $displayvalue = str_replace(",", "", $displayvalue); $displayvalue = str_replace(",", "", $displayvalue); $displayvalue = substr($displayvalue, 0, 10); $newstring .= $displayvalue; break; case 'seo': $newstring .= buildSeoLink($displayvalue); break; default: $newstring .= $displayvalue; break; } if ($directdump) { echo $newstring; $newstring = $oldnewstring; } } } } } $pos = strpos($text, "[", $pos + 1); } $newstring .= substr($text, $oldpos); return $newstring; }
function secondsToTime($seconds) { // extract hours $hours = floor($seconds / (60 * 60)); // extract minutes $divisor_for_minutes = $seconds % (60 * 60); $minutes = floor($divisor_for_minutes / 60); // extract the remaining seconds $divisor_for_seconds = $divisor_for_minutes % 60; $seconds = ceil($divisor_for_seconds); // return the final array $obj = array("h" => (int) $hours, "m" => (int) $minutes, "s" => (int) $seconds); // return $obj; return showTime($obj); }
private function showTrace() { // $debug_pic = array('close' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAA5ElEQVR42tRTQYoEIQwsl/2Bl3gQoY9eBKEf5kvyG8G7h4Z+S38gIu5lp5lZ2R7YPm1BDhZJSFWiGmPgDj5wE7cbfD4/mBkAHprUj9yTTyn9OsGIMSLG+Fxwxc8SiAi9d4QQHskjhIDeO4jorQcq5wwiQmsN3nt479FaAxEh5zxJmyZIKalSClprL1FKQUpJXZr4DBH52xqZeRhjICKw1sJaCxGBMQbMPN41GFpriAicc6i1otYK5xxEBFrraQuThGVZAADbtp2amXms6woAOI7j0gO17/t5MN+HNfEvBf//M30NAKe7aRqUOIlfAAAAAElFTkSuQmCC', 'config' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAATtJREFUeNqcU0Gqg0AMjZ/eQbEH0IUewIV4BXEjeD9dCvYGUlB056IU3Rf0Ci6c/hc6g/rr7+cHwkySl8xLZkZL05QORKz22jtAkiR0OkigIAjofD7T4/GgsizFLlcV/JLJAKOi4zjsME1zs8KPOHDrw7RXCwLBv0qWZZyLHMmAuq4jIcRHBW4taga3241c1+U9+r5erwrk+76kzri1gIEAII5jdcorWZMKW8aAA17OgRkYhkHLsvza9zoO/OYWQHmeZwYdFZIxKPDrGWhVVTGdKIrY6Xke1XWtrgo26EPyPN+8BTVEy7LU6bquUxiGPxigCHB939P+IZFt2x+vUOL2t8DSNA2D7vc7FUWxSYQNP/bAvXsH2jiO4nK5qMC3za1M08T2MAys+79wOvpxbdt+/I0ckL39V54CDAChFuDJX64gowAAAABJRU5ErkJggg==', 'database' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKlJREFUeNrsk0EOgyAQRT9KiLog7D0Ql+B4HsULeAHXQFwaiCGBCm1Nmi4a69a/IDNk5g+8ZEhKCcMwYFfCORGlFOgrSVJKNE0DxhgofV6HELBtG5xz8N6XuK7rUjOOYx5I3gbQWoNzDiEEuq5DjLE0LcsCYwystVjXFW3bou/74xkVLuqywfGFaZp+T6uqwmGe52+DPyB+GtwQb4h5q3aI6SREko+HAAMADJ+V5b1xqucAAAAASUVORK5CYII=', 'email' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAA0ElEQVR42tSTMY7DIBREn1d7C5dINNDQUPgePqXvQUFDYzdIlFwCjJwq1lp2kl2lWGWkXwwfRp8Z/W7bNt7BF2/i/wW+AaZp+rMR4zh2uwBA3/cMw/DyoXOOnPP5C9ZanHOs6/qwnHNYa689qLVijMF7T631VN57jDHUWq8FSimUUlBKEULYeSmFEAJKqZ2fTLxPABBjRErJsiz7pTuXUl6nANBaI6WEEILWGkIIfvaEEMQYD+cHgZQSWuunCWitmef5WiDnfIjnt+g+f5luAwD2dYaKnq3prwAAAABJRU5ErkJggg==', 'error' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIrSURBVDjLpdNfSFNhGMdx6Q9RDoIuLAQtYVuWpZSunKQXjYIKwdBqkJkEYRhIBEFRRmVbGYNB2hTnVKaGzWFq/im0mLgyLTNjpdSFJkX/hCxYY26db+ecYliQF3rx44Xz8nzO8748bxgQNp/8d8OoS41s0Ca0uBPXvu3VqMYbk+Parx5Nsl3RRyHmjpjdswKfosOF6ey9CENPEFqdBNM2MaKNJ+D7StflLTIiA8bUrQu8sUuavOrF017lIrwxYqIXErSWwOsR+PgBhgZhoA9XWw0T3UbqTsZLwBEZMKUkhvtUS3uxW6G+GmrEtfsuPH0MXR3gGf79vfIGZQUa3vWYMR+OkYBIGbBpN6r9qxUvZEBsmYMZUHwR6sSiPjf0P4RaG1OnTvidZzS8uV0gFRO6xBaNMiOgXjmB3QY5WZB7AK5dAkc9PBdb7+oUu6pgpLRkymXazlhn4d/AYMIqg2Axf8NQCHnZcCwHTAZodsD4GPTch3vtDJeX88q+n77rOyXAEwK+rFe0in8Iyq1n7oKic9B0C9wugjerf34/lPXDr08PuPJyZKD5fIoEFIUAX2x4v2AthYZaMXaEjlb8Og2TaxTCs317BgMWs/59fm7V5qgIPFWZVOTHSUBaCGhMXmd9GR/hnVQuEz6LGVWt8DuSYh/NnAmxQFd5fIPcwczzzzpI/wDFLRe2zQsYHShLnxcgFz8w7QiN8JwA59lkCTg9F8Dy5xVK6/KZe78AQiW2y4SvvaoAAAAASUVORK5CYII=', 'info' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIySURBVDjLpdNdTFJhGAdw120X3XXR5kU33fQxS0+5Yl24lFnQKsvl2nJLM0fmXLNASceKgAv8yBGgJPEhkcIShEEYKuKU1IxcTm0WUDiJ1Fpbm1tZ/855186oLS/k4r/34n2e355z9rwZADLSyX8vCm+WU6fqT38+21S4ztPy1rmK4lXF5Ry//Hwm6LjoHN8QOGOgUOe9iGByCJ7FJ5BMX0ORiosfa1/wTHqQIAQ4VCHbwpXL53iWHPAe7QefJAvq4G2MLY9gcnUcQ0kf/AkvAm4DPvhl6Lq+jwEuESD7inLrCWXJ10BygC56SgpHlofxfGUMjvhjDH7sR1e0Hfq3VmiqKSwOt6CldCcD7CDA3qrOXfRo37tjRojC5SRt81KYIxp4lxx0+mCOaqEON8NeR2Ght5ppBvsTT9Yqai60F/y0vTehPlyBW+FKAliiOvQnPGQKY+Q+TOOdCCjzEPU2/A1wxIaH3a8N0C20ouGVAI3TVVC9kcEa0yO0MgrfkptM0mprwqypGKG2AgaYYYEsqfGFI94D4csy1E6VonlWgt64Fb6EG7aYGTdGK1ETEv6yu+wEcDQeZoA7LHBEJfxkiejQQxczccZtEE8JwHNRKLMK1rRzng6R3xU8kLkdM/oidAh2M8BRFsi7W/Iu38wBty8bXCcdSy6OyfjfUneCbjj34OoeMkHq92+4SP8A95wSTlrA/ISGnxZAmgeV+ewKbwqwi3MZQLQZQP3nFTLnttS73y9CuFIqo/imAAAAAElFTkSuQmCC', 'log' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABKElEQVR42sSTPa6CQBSFv3lRrCRYACvQxMLCBhsTK5fAGtiAPaGfDbgGNmBCS0PFAqhsoSGSWE1yrTDvxd+E4t1qkrnn3HPPnFEiwpD6YWCNPjUcj0fquhYAz/MUQBRFzwniOH6cMBrJfD4HoKoq6UleKkiS5H7WWstut+N0OmHbNrZt92rURw+01rJerzmfzyyXSy6XC77vf2ei1lpWqxVN02CMwRhDEARUVcXHFfrJbdsyHo8BcByHsiwxxqjfBj4omE6nstlsuF6vWJaFZVl4nkdZlhwOB/U2B1mWSRiGFEWB67pMJhNc16Uoipfgpx6EYUie58xmM/I8fwsGUH2UsywTgMViAUCapnRdp9498x+COI5lu93eL/b7vfomyurfP9NggtsAfaVzbTWryOIAAAAASUVORK5CYII=', 'logo' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAALeSURBVDhPTVTbT9NgFN9fZDLGBgteUBON+GhiJCExvipsnYsKOEM0CrzIA/FGvEQNIkoCCq7tBmFWI3L1gkMciOAkmXIJGdvY2q/tz/O1g/Bw0rVff7dzTucwYWJg5haEcBl8kmdXlaNWLoVfKoFfdKGOfu8+D4geBAe8cMTmuyBILqv8UtlO+WS3BagfOoCAWG4TSW4qz84754jUERQrigQl8MlOUvWSGoFlDijFo8kg7ozVFQW4iIvOuCMP6iQnHH6RbJJFn1QOH5FxJUHkTkoQoEqsjWEk2WcB7XJaDjiBQFgioIcit2vnFfg9vRgIu9GXeABTN5Fcn7bcXJArbQJLgOOIwMpODeEvbPeiXqyEstQF1VBhagwLGwkiduLJ1yY0yUctoEBiXJQI6IZUOThATeqYqEUqvQCDlA1mwDByCM89xPmwF7NrE+j5cr2ozmMXCThji1KD7yvjBDDBTAbd1Ml+FvOr33BRPojn8WZo5hZGlweoV9sRXHD4InvweCoEVc0S2CDbpMyvbAvyXDeEaAV647ehszw9Z/iUiqEhug+CbJM4QpHjyLIMWd5WNTHzbxQ3lFNojVWTKwU69cIwC3TV0Ztox833Nbg7bo/WcfVtFTRi1qlUpuJlvAWNg1VQFjuhUgNNXSXruiWQTC/iUrQSkYVOjP95Q3vgoSbSBJY2psGYjvuTjegYOY2V/CpMQ6M+GEQMAmuYXn6HhqFDaP9wFgWWxnouZRPw8T39HMLIrx6Eho8ho24RuABm9ULHymYSHZMB2r4ympAPmUKOXOnYLKRpMtwB5QhKXjQrJymXQGCdpkDK1HHl5zMEI/txJXoCH3/3E2mBzpkVeebvMO3D3uIiWUvhxuXBI8hrGTC9gO74NQTDh9GfuIWcmrZiGKZKZybWtBRalWq8nr1nL5L9PdgLpSy+wFRSRlvsDH6sjSJP41VZlnJTLE1FrrCOVxNtGE500h+Bif8T6/cL1XlPPAAAAABJRU5ErkJggg==', 'memory' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAAmElEQVR42sSTuwoEIQxFr7JtOgf0n+z9Rhsr/0nB0jKiW00xs7Myj4VNFQj3cAKJGGPgSUk8rNfaeO8vqTjnxAYAAMuynAqXUj4NAKDWen8FKSWstadCIYRjg9YaUkrTsDHm2GAFtNamgP18A2BmKKWmAGaeG+ScpwCt9XdA7x299ylgP//dJQIAEYGI7gNijJcNxN+/8T0A1+E5NmcLfJkAAAAASUVORK5CYII=', 'reload' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJFSURBVHjaYvz//z8DJQAggJgYKAQAAcSCTTD/YEr2vz9/c//+/af+989fBiC++efP38kLglZNRVcLEECMyF4oPJwq9e/vv42SnFImUtxSDJysXAx///1j+PTjE8P9Nw8YHry8f+bPnz/+qxO2PIPpAQggFC8Abdwox61goiKgysDIyMzw5+8foAF/GZiYmBjUxNUYFEWVTP78+rMRWQ9AAMENyNufnC3BIWkiyyvH8AeoCegShtuvbzPcenGLAWgr2CB5MXkGSSEpE48JjtkwfQABBDcA6M9cCS5Jhu+/vwHxD4a9N/f8u/HsZvONpzead1/Y8+/Tj89gF0mLyjAAXZEL0wcQQPBABAaSOjszB8O//38Z7r25y/Dn99/WZVHr60By/jPcv+49vacDKAZ2DZBWh+kDCCC4AX9/A535/w840P6CFf2B+/P3rz8d2/L2MmKLMYAAgnsBaOrNj98+Mnz99ZVBXEASpKnad5rrMojcHwanDmusKQ4ggJAM+DP5ATCqmIGhzwi0y97AgUlSSDLStcfuv6SIFIOkmBSDVZ0JhiEAAYSSDkLmeZ+WE5U3kROXY/gKDExWJlaGf8DQ/wtUAwqbi1cuMdy7e5/hXM9luHcAAgglHfz+/cf/5sNbZ67cucLw/fsPcKj/Bhrw599vMBsY0CCvorgAIIAYsWUm5y6bbKDCjL+//+qAQl1KUhqYyP4y3AfafmnidZTABAggRmJyo0GRzn9Qnrg86TpGTAAEEAsxOQ4UxZcn38AajQABBgDmDSSSJTnd0QAAAABJRU5ErkJggg==', 'sf.png' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2NEJBNzZDNDMwRDNERjExODA5MUZEQkMxQUVDRTMzRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozMDIzNDYwOUYzMjYxMUUwQTlEREI4RTA0NTgyNDFFMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMDIzNDYwOEYzMjYxMUUwQTlEREI4RTA0NTgyNDFFMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M0IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2N0M3MEE3OThDQ0ZFMDExOTQxNENCMkUxNDUyQUUxQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2NEJBNzZDNDMwRDNERjExODA5MUZEQkMxQUVDRTMzRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkNGUsgAAAKDSURBVHjapJRNTBNREMf/b9uuUGihH2sRbIlAFQIEERWj8QO8QEJMjPGu8ebFC0cTPXnxYuLNhIMmagyJiSSmIhdj/AykFIwWtG1AWkgp/dhud7ef+1wOXpS2i87LHN5k5vfmzXszhFKKaiKLaWpQ/OBJCbb6k0QQJWqqM5KdfBloEIZK0DEhEBSwxvP0p6SU960Gy4qb1FCcA1FC0IFDsljCbPofgblMkLL8czCplxBkGxQ044vIwBcrlI3R71izTJzqpVmw4Ql1swLZMQSxZhQ5hWAqkIewlQZO2LQDDYkX0Ptuo1jThHTrGFKNx9Tr6vAkGEPkax424y4yzKc+UDZ0D1LLBSQdw1gmYUhq/Oq6gMnpEkghiT6nVXsN9dIrSK6L4NuuwlOag7+QhZg5gEfTBqwEV9HF6XGmvVE7UNnDQrRfwmTqGZb5BTjJAEKRWng/+tUnT2G0046+/SbtwCx7HD+yS1hYfwdLqRkWpgVv59NQYmsYbGnAaRXIWcxE+7chnfDG3iMe3UJBNIBVV3xLVoubxYDbDleThVRsgr8MjAmylEcsKiMQ+Q45n0FHmwlKox31ltrqXfWnwWi0ELe5F1JKh0+Lc/CtfMb5XhZwd2MpXQSfEemugNvSzw2hZ98hhAIiHs88gKtewJURDtO8Gf5EDrsGtlq7yPWzN9Dvbse3sBczvocYP8JgrKcBnnABixt8+Sy3x1c5nVqcoN03zfToLSud8j6lG8kEfR0U6Pw6T8vFVATG+U16/804PXWXoXc812gl399acdpYzRwZ7riMtuaDiOdW1QOiVaexvpoDV+fE4aZzEHJJ2Boc5L+BOsaAzr2D27XRMtzxS4ABAFymXJw6Mq6eAAAAAElFTkSuQmCC', 'time' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABSElEQVR42pyTwZHCMAxFXxxKUAXuIA3gFnJxERxohAt9QAM5EhpwB6rAJdjJXmKThIWdWc1oJvbo/y8p383tdmMfMcYEtKurLCKHfZ33nsMOmAFjraXrunofQmhVdQYmEVkTvwhijPMaOI5jLXLO0XUdIQSjqrOINBuCGGMu4AL03leC+/1eiQBUNZdOzFJjCth7X8GXy6WSee8Zx7F0WHCYGGOy1la1aZpqrs/zPNcaa21ZNAZoi3rf9+ScawL1O6VE3/frLtrNEgFSSm+/9Hq9AnA+n/ktvhKcTqev5GWEHELAOccwDKSUPuYwDDjnCCEAZAAjIgdV3Sh9yhKqSnFmGWEKIRjnHI/HA4Dj8VgBz+ez+mBRnzY7EJFi1WqWvRMXSxf19m2JItKoalZVY62toDXw61sonSwzJlX98zUCNGuH/Sd+BgBGROvHb4RJ6gAAAABJRU5ErkJggg==', 'toggle' => 'data:image/gif;base64,R0lGODlhDQAMAPcAAP///5mZmeLi4uXl5f////Pz8wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAANAAwAQAgqAAEIHGhgoEGBBhIqLGhwocODAB5CnEhRIUWECSs6ZHhx4kaLByVWhBgQADs=', 'view' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAAiElEQVR42szTOQ7DIBBA0Y9lKo5FTTmnpIOaK3ECllSJkINjOTQeCQk06LEMqN47K7GPA+/9laYARGQOHJMDjIi8F1BjbjtObq19NYCcM9ZagH56BIBa63TvKaXrOzgDnHOffozxN1BK+b8KzwDuPqx9VsYlQGu9Bhhj1oAQwi1Arf7GjcV4DQB6u0DjnBIGrgAAAABJRU5ErkJggg==', 'warning' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIxSURBVDjLpdNdSFNhGAfww0Cri+gyKLowpMC+LsooEy+SgqJuKqRIiIQKkryoi4zaUmbWSHKdPkYz05xdnKNobmwW6Vi6tbk2TDYl82PTTSr3PXe2s2T+O+dgYwV54S7+vBcvz4/neXleAgCRTf570UXdLda9ORUytW1LDbbkp1TK8h8PLu1rvn92C7houBxfEbA/E+Hn4C6wAQMYTxO8vbkwvMjBYiKED3X7BUQAaFqao6XLgxZyDaxyAp9JArYnBCLjd5CM2bDIupCI6MEEtRjQtWK2rx7t13fzQMUfYHNfx7H4wtQ9xFwPEZuuR+I7jWSgH9H5FrBRI4KeGgTcN6CoKoT3YyMaL+TxwCYBoOi6M5+6i37xgM9YICQ8elnAmKCai4YDJHCPnEDnrUJMdFfxxUg/Ik2JlSPq7anYtAw+0x74zXs54AqYGRLxMN9FK/yem5hySpcMDYfh6hX/DXRR15yhcclS2FEBv+Ugl0OIjFWCmVUgGR9FzE8h6mvGF7MMY21lMJNHecCZBrRUWXhhcrn9ga0IOy4Kxey8BoGZWnwbKsCkbSOGX+cJwFtJEQ9I04C+o5SNTojBuOXc3I8Qn1Nh7v062BUiWHXnWLtD+1TVTxt7anPhfHUayqs7eKAkDajbz3tN5HpYH4swJBfBQq7Fu6aSROZOcAWlLyt3Ch1kzr/iIv0DyHpqirMCvloVJ7MChGJ9w5H0Cq8K6Lx9gAeqVwM8X/6F/Lkh8+43zznRPkqpYfEAAAAASUVORK5CYII=', 'plugin' => 'data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABmklEQVR42mL4//8/AyUYIIDAxK5du1BwXEb3/9D4FjBOzZ/wH10ehkF6AQIIw4B1G7b+D09o/h+X3gXG4YmteA0ACCCsLghPbPkfm9b5PzK5439Sdg9eAwACCEyANMBwaFwTGIMMAOEQIBuGA6Mb/qMbABBAEAOQnIyMo1M74Tgiqf2/b3gVhgEAAQQmQuKa/8ekdYMxyLCgmEYMHJXc9t87FNMAgACCGgBxIkgzyDaQU5FxQGQN2AUBUXX/vULKwdgjsOQ/SC9AAKEEYlB03f+oFJABdSjYP6L6P0guIqkVjt0DisEGAAQQigEgG0AhHxBVi4L9wqvBBiEHtqs/xACAAAIbEBBd/x+Eg2ObwH4FORmGfYCaQRikCUS7B5YBNReBMUgvQABBDADaAtIIwsEx9f/Dk9pQsH9kHTh8XANKMAIRIIDAhF9ELTiQQH4FaQAZCAsskPNhyRpkK7oBAAEEMSC8GsVGkEaYIlBghcU3gbGzL6YBAAEEJnzCgP6EYs/gcjCGKQI5G4Z9QiswDAAIIAZKszNAgAEAHgFgGSNMTwgAAAAASUVORK5CYII='); $_trace = trace(); $trace_config = array('debug' => 'on', 'xdebug' => extension_loaded('xdebug') ? 'on' : 'off', 'HTML_CACHE' => C(HTML_CACHE_ON) ? 'on' : 'off', 'GD' => extension_loaded('gd') && function_exists('gd_info') ? 'on' : 'off', 'tokenizer' => function_exists('token_get_all') ? 'on' : 'off', 'eaccelerator' => extension_loaded('eaccelerator') && ini_get('eaccelerator.enable') ? 'on' : 'off', 'apc' => extension_loaded('apc') && ini_get('apc.enabled') ? 'on' : 'off', 'xcache' => extension_loaded('xcache') && ini_get('xcache.cacher') ? 'on' : 'off', 'memcache' => extension_loaded('memcache') && ini_get('memcache.default_port') ? 'on' : 'off'); $trace_config_output = ''; foreach ($trace_config as $key => $value) { $trace_config_output .= '<li class="is' . $value . ($key == 'xcache' ? ' last' : '') . '">' . $key . '</li>'; } $grounpname = C('GROUP_NAME') ? C('GROUP_NAME') . '/' : ''; #View $view = Think::instance('View'); $view_var = dump($view->getAllVar(), 0); $logs = getLogs($_trace); $files = get_included_files(); $file_count = count($files); $files = dump_php($files); $showtime = showTime(); # $request = dump_php(requestAsArray()); $response = dump_php(responseAsArray()); $user = dump_php(userAsArray()); $settings = dump_php(array_change_key_case(C(), CASE_UPPER)); $prams = prams($view); $glob = dump_php(globalsAsArray()); $php_info = dump_php(phpInfoAsArray()); if (empty($_REQUEST)) { $tmpl_var = '<p>No parameters were passed to this template.</p>'; } else { $tmpl_var = ''; if (!empty($_GET)) { $tmpl_var .= 'GET:' . dump_php($_GET); } if (!empty($_POST)) { $tmpl_var .= '<br/>' . dump_php($_POST); } $tmpl_var = '<p>' . $tmpl_var . '</p>'; } $log_rows = ''; foreach ($logs as $key => $val) { if ($val['level'] == ' WARN') { $log_rows_type = ' Warning'; } else { if ($val['level'] == ' ERR') { $log_rows_type .= ' Error'; } else { $log_rows_type .= ' Info'; } } $log_rows .= '<tr class="sfWebDebugLogLine sfWebDebug '; $log_rows .= $log_rows_type; $log_rows .= $val['level'] . '"><td class="sfWebDebugLogNumber">' . ($key + 1) . '</td><td class="sfWebDebugLogType"><img alt="Info" src="' . $debug_pic[$val['src']] . '"> <span>' . $val['level'] . '</span></td><td>' . $val['log'] . '</td></tr>'; $log_rows .= '<tr class="sfWebDebugLogLine sfWebDebug' . $log_rows_type . ' ' . $val['level'] . '"><td class="sfWebDebugLogNumber">' . ($key + 1) . '</td><td class="sfWebDebugLogType"><img alt="Info" src="' . $debug_pic[$val['src']] . '"> <span>' . $val['level'] . '</span></td><td>' . $val['log'] . '</td></tr>'; } $showtime_output = ''; foreach ($showtime['Process_Adv'] as $key => $value) { $showtime_output .= '<tr><td class="sfWebDebugLogType">' . $key . '</td><td style="text-align:right">' . $value . '</td><td style="text-align: right">' . round($value / floatval($showtime['Process']) * 100, 0) . '</td></tr>'; } $think_version = THINK_VERSION; $think_path = THINK_PATH; $pageContents = <<<EOPAGE <style type="text/css"> root{display:block} dl{margin:0;padding:0} dt{font-weight:bold;text-align:right;width:11em;clear:both} dd{margin:-1.35em 0 0 12em;padding-bottom:.4em;overflow:auto} dd ul li{float:left;display:block;width:16.5%;margin:0;padding:0 0 0 20px;background:url({$debug_pic['plugin']}) 2px 50% no-repeat;line-height:1.6} #sfWebDebug{color:#333;font-family:Arial,sans-serif;font-size:12px;line-height:12px;margin:0;padding:0;text-align:left} #sfWebDebug a,#sfWebDebug a:hover{background-color:transparent;border:medium none;color:#000;text-decoration:none} #sfWebDebug img{border:0 none;display:inline;float:none;margin:0} #sfWebDebugBar{background-color:#DDD;margin:0;opacity:.8;padding:1px 0;position:absolute;right:0;top:0;white-space:nowrap;z-index:10000} #sfWebDebugBar[id]{position:fixed} #sfWebDebugBar img{vertical-align:middle} #sfWebDebugBar .sfWebDebugMenu{display:inline;margin:0;padding:5px 5px 5px 0} #sfWebDebugBar .sfWebDebugMenu li{display:inline;list-style:none outside none;margin:0;padding:0 6px} #sfWebDebugBar .sfWebDebugMenu li.last{border:0 none;margin:0;padding:0} #sfWebDebugDatabaseDetails li{margin:0 0 0 30px;padding:5px 0} #sfWebDebugShortMessages li{background-color:#DDD;margin-bottom:10px;padding:5px} #sfWebDebugShortMessages li{list-style:none outside none} #sfWebDebugDetails{margin-right:7px} #sfWebDebug pre{line-height:1.3;margin-bottom:10px} #sfWebDebug h1{background-color:#EEE;border:0 none;font-size:16px;font-weight:bold;margin:10px 0;padding:0} #sfWebDebug h2{background:none repeat scroll 0 0 transparent;border:0 none;font-size:14px;font-weight:bold;margin:10px 0;padding:0} #sfWebDebug h3{background:none repeat scroll 0 0 transparent;border:0 none;font-size:12px;font-weight:bold;margin:10px 0;padding:0} #sfWebDebug .sfWebDebugTop{background-color:#EFEFEF;border-bottom:1px solid #AAA;left:0;margin:0;padding:0 1%;position:absolute;max-height:70%;opacity:.8;top:0;width:100%;overflow:auto;z-index:9999} #sfWebDebugLog{font-size:11px;margin:0;padding:3px} #sfWebDebugLogMenu{margin-bottom:5px} #sfWebDebugLogMenu li{border-right:1px solid #AAA;display:inline;list-style:none outside none;margin:0;padding:0 5px} #sfWebDebugConfigSummary{background-color:#DDD;border:1px solid #AAA;display:inline;margin:20px 0;padding:5px} #sfWebDebugConfigSummary li{display:inline;list-style:none outside none;margin:0;padding:0 5px} #sfWebDebugConfigSummary li.last{border:0 none} .sfWebDebugInfo,.sfWebDebugInfo td{background-color:#DDD} .sfWebDebugWarning,.sfWebDebugWarning td{background-color:orange!important} .sfWebDebugError,.sfWebDebugError td{background-color:#F99!important} .sfWebDebugLogNumber{width:1%} .sfWebDebugLogType{white-space:nowrap;width:1%} .sfWebDebugLogType,#sfWebDebug .sfWebDebugLogType a{color:darkgreen} #sfWebDebug .sfWebDebugLogType a:hover{text-decoration:underline} .sfWebDebugLogInfo{color:blue} .ison{color:#000;font-weight:bolder;margin-right:5px} .isoff{color:#F33;margin-right:5px;text-decoration:line-through} .sfWebDebugLogs{border:1px solid #999;font-family:Arial;font-size:11px;margin:0;padding:0} .sfWebDebugLogs tr{border:0 none;margin:0;padding:0} .sfWebDebugLogs td{border:0 none;margin:0;padding:1px 3px;vertical-align:top} .sfWebDebugLogs th{background-color:#999;border:0 none;color:#EEE;margin:0;padding:3px 5px;vertical-align:top;white-space:nowrap} .sfWebDebugDebugInfo{border-left:1px solid #AAA;color:#999;font-size:11px;line-height:1.25em;margin:5px 0 5px 10px;padding:2px 0 2px 5px} .sfWebDebugDebugInfo .sfWebDebugLogInfo,.sfWebDebugDebugInfo a.sfWebDebugFileLink{color:#333!important} .sfWebDebugCache{font-family:Arial;font-size:9px;margin:0;opacity:.85;overflow:hidden;padding:2px;position:absolute;z-index:995} #sfWebDebugThinkphpVersion{background-color:#666;color:#FFF;margin-left:0;padding:1px 4px} #sfWebDebugviewDetails ul{list-style:none outside none;margin:.5em 0;padding-left:2em} #sfWebDebugviewDetails li{margin-bottom:.5em} #sfWebDebug .sfWebDebugDataType,#sfWebDebug .sfWebDebugDataType a{color:#666;font-style:italic} #sfWebDebug .sfWebDebugDataType a:hover{text-decoration:underline} #sfWebDebugDatabaseLogs{margin-bottom:10px} #sfWebDebugDatabaseLogs ol{margin:0 0 0 20px;padding:0} #sfWebDebugDatabaseLogs li{padding:6px} #sfWebDebugDatabaseLogs li:nth-child(2n+1){background-color:#CCC} .sfWebDebugDatabaseQuery{margin-bottom:.5em;margin-top:0} .sfWebDebugDatabaseLogInfo{color:#666;font-size:11px} .sfWebDebugDatabaseQuery .sfWebDebugLogInfo{color:#909;font-weight:bold} .sfWebDebugHighlight{background:none repeat scroll 0 0 #FFC} </style> <script type="text/javascript"> /* <![CDATA[ */ function sfWebDebugGetElementsByClassName(strClass, strTag, objContElm){ // http://muffinresearch.co.uk/archives/2006/04/29/getelementsbyclassname-deluxe-edition/ strTag = strTag || "*"; objContElm = objContElm || document; var objColl = (strTag == '*' && document.all) ? document.all : objContElm.getElementsByTagName(strTag); var arr = new Array(); var delim = strClass.indexOf('|') != -1 ? '|' : ' '; var arrClass = strClass.split(delim); var j = objColl.length; for (var i = 0; i < j; i++){ if(objColl[i].className == undefined) continue; var arrObjClass = objColl[i].className.split ? objColl[i].className.split(' ') : []; if (delim == ' ' && arrClass.length > arrObjClass.length) continue; var c = 0; comparisonLoop: { var l = arrObjClass.length; for(var k = 0; k < l; k++){ var n = arrClass.length; for(var m = 0; m < n; m++){ if(arrClass[m] == arrObjClass[k]) c++; if(( delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) { arr.push(objColl[i]); break comparisonLoop; } } } } } return arr; } function sfWebDebugToggleMenu(){ var element = document.getElementById('sfWebDebugDetails'); var cacheElements = sfWebDebugGetElementsByClassName('sfWebDebugCache'); var mainCacheElements = sfWebDebugGetElementsByClassName('sfWebDebugActionCache'); var panelElements = sfWebDebugGetElementsByClassName('sfWebDebugTop'); if (element.style.display != 'none'){ for (var i = 0; i < panelElements.length; ++i){ panelElements[i].style.display = 'none'; } // hide all cache information for(var i = 0; i < cacheElements.length; ++i){ cacheElements[i].style.display = 'none'; } for(var i = 0; i < mainCacheElements.length; ++i){ mainCacheElements[i].style.border = 'none'; } } else{ for(var i = 0; i < cacheElements.length; ++i){ cacheElements[i].style.display = ''; } for(var i = 0; i < mainCacheElements.length; ++i){ mainCacheElements[i].style.border = '1px solid #f00'; } } sfWebDebugToggle('sfWebDebugDetails'); sfWebDebugToggle('sfWebDebugShowMenu'); sfWebDebugToggle('sfWebDebugHideMenu'); } function sfWebDebugShowDetailsFor(element){ if (typeof element == 'string') element = document.getElementById(element); var panelElements = sfWebDebugGetElementsByClassName('sfWebDebugTop'); for(var i = 0; i < panelElements.length; ++i){ if(panelElements[i] != element){ panelElements[i].style.display = 'none'; } } sfWebDebugToggle(element); } function sfWebDebugToggle(element){ if (typeof element == 'string') element = document.getElementById(element); if (element) element.style.display = element.style.display == 'none' ? '' : 'none'; } function sfWebDebugToggleMessages(klass){ var elements = sfWebDebugGetElementsByClassName(klass); var x = elements.length; for (var i = 0; i < x; ++i){ sfWebDebugToggle(elements[i]); } } function sfWebDebugToggleAllLogLines(show, klass){ var elements = sfWebDebugGetElementsByClassName(klass); var x = elements.length; for (var i = 0; i < x; ++i){ elements[i].style.display = show ? '' : 'none'; } } function sfWebDebugShowOnlyLogLines(type){ var types = new Array(); types[0] = 'info'; types[1] = 'warning'; types[2] = 'error'; for (klass in types){ var elements = sfWebDebugGetElementsByClassName('sfWebDebug' + types[klass].substring(0, 1).toUpperCase() + types[klass].substring(1, types[klass].length)); var x = elements.length; for (var i = 0; i < x; ++i){ if ('tr' == elements[i].tagName.toLowerCase()){ elements[i].style.display = (type == types[klass]) ? '' : 'none'; } } } } /* ]]> */ </script> <div id="sfWebDebug"> <div id="sfWebDebugBar"> <a onclick="sfWebDebugToggleMenu(); return false;" href="javascript:void(0);"><img alt="Debug toolbar" src="{$debug_pic['logo']}"></a> <ul class="sfWebDebugMenu" id="sfWebDebugDetails"> <li><span id="sfWebDebugThinkphpVersion">{$think_version}</span></li> <li class="sfWebDebugInfo"><a onclick="sfWebDebugShowDetailsFor('sfWebDebugconfigDetails'); return false;" href="javascript:void(0);" title="Configuration"><img alt="Config" src="{$debug_pic['config']}"> config</a></li> <li class="sfWebDebugInfo"><a onclick="sfWebDebugShowDetailsFor('sfWebDebugviewDetails'); return false;" href="javascript:void(0);" title="View Layer"><img alt="View Layer" src="{$debug_pic['view']}"> view</a></li> <li class="sfWebDebugInfo"><a onclick="sfWebDebugShowDetailsFor('sfWebDebuglogsDetails'); return false;" href="javascript:void(0);" title="Logs"><img alt="Log" src="{$debug_pic['log']}"> logs</a></li> <li><img alt="Memory" src="{$debug_pic['memory']}">{$showtime['UseMem']}</li> <li class="sfWebDebugInfo"><a onclick="sfWebDebugShowDetailsFor('sfWebDebugtimeDetails'); return false;" href="javascript:void(0);" title="Timers"><img alt="Time" src="{$debug_pic['time']}">{$showtime['Process']}</a></li> <li class="last"> <a onclick="document.getElementById('sfWebDebug').style.display='none'; return false;" href="javascript:void(0);"><img alt="Close" src="{$debug_pic['close']}"></a> </li> </ul> </div> <div style="display:none" class="sfWebDebugTop" id="sfWebDebugconfigDetails"> <h1>Configuration</h1> <ul id="sfWebDebugConfigSummary"> {$trace_config_output} </ul> <h2>Request <a title="Toggle details" onclick="sfWebDebugToggle('sfWebDebugRequest'); return false;" href="javascript:void(0);"><img alt="Toggle details" src="{$debug_pic['toggle']}"></a></h2> <div style="display: none" id="sfWebDebugRequest"> <p>{$request}</p> </div> <h2>Response <a title="Toggle details" onclick="sfWebDebugToggle('sfWebDebugResponse'); return false;" href="javascript:void(0);"><img alt="Toggle details" src="{$debug_pic['toggle']}"></a></h2> <div style="display: none" id="sfWebDebugResponse"> <p>{$response}</p> </div> <h2>User <a title="Toggle details" onclick="sfWebDebugToggle('sfWebDebugUser'); return false;" href="javascript:void(0);"><img alt="Toggle details" src="{$debug_pic['toggle']}"></a></h2> <div style="display: none" id="sfWebDebugUser"> <p>{$user}</p> </div> <h2>Settings <a title="Toggle details" onclick="sfWebDebugToggle('sfWebDebugSettings'); return false;" href="javascript:void(0);"><img alt="Toggle details" src="{$debug_pic['toggle']}"></a></h2> <div style="display: none" id="sfWebDebugSettings"> <p>{$settings}</p> </div> <h2>Prams<a title="Toggle details" onclick="sfWebDebugToggle('sfWebDebugPrams'); return false;" href="javascript:void(0);"><img alt="Toggle details" src="{$debug_pic['toggle']}"></a></h2> <div style="display: none" id="sfWebDebugPrams"> <p>{$prams}</p> </div> <h2>Globals <a title="Toggle details" onclick="sfWebDebugToggle('sfWebDebugGlobals'); return false;" href="javascript:void(0);"><img alt="Toggle details" src="{$debug_pic['toggle']}"></a></h2> <div style="display: none" id="sfWebDebugGlobals"> <p>{$glob}</p> </div> <h2>PHP <a title="Toggle details" onclick="sfWebDebugToggle('sfWebDebugPhp'); return false;" href="javascript:void(0);"><img alt="Toggle details" src="{$debug_pic['toggle']}"></a></h2> <div style="display: none" id="sfWebDebugPhp"> <p>{$php_info}</p> </div> <h2>Thinkphp <a title="Toggle details" onclick="sfWebDebugToggle('sfWebDebugSymfony'); return false;" href="javascript:void(0);"><img alt="Toggle details" src="{$debug_pic['toggle']}"></a></h2> <div style="display: none" id="sfWebDebugSymfony"> <pre>version: {$think_version} path: {$think_path}</pre> </div> </div> <div style="display:none" class="sfWebDebugTop" id="sfWebDebugviewDetails"> <h1>View Layer</h1> <h2>Template: <span title="{$_trace['template_file']}">{$_trace['template_file']}</span><a title="Toggle details" onclick="sfWebDebugToggle('sfWebDebugViewTemplate1'); return false;" href="javascript:void(0);"><img alt="Toggle details" src="{$debug_pic['toggle']}"></a></h2> <div style="display:block" id="sfWebDebugViewTemplate1">{$tmpl_var}</div> <h1>passed values:<a title="Toggle details" onclick="sfWebDebugToggle('sfWebDebugViewTemplate2'); return false;" href="javascript:void(0);"><img alt="Toggle details" src="{$debug_pic['toggle']}"></a></h1> <pre id="sfWebDebugViewTemplate2">{$view_var}</pre> <h1>loaded Files:<a title="Toggle details" onclick="sfWebDebugToggle('sfWebDebugViewTemplate3'); return false;" href="javascript:void(0);"><img alt="Toggle details" src="{$debug_pic['toggle']}"></a></h1> <pre id="sfWebDebugViewTemplate3">{$file_count}个文�br />{$files}</pre> </div> <div style="display:none" class="sfWebDebugTop" id="sfWebDebuglogsDetails"><h1>Logs</h1> {$showtime['DB']}{$showtime['Cache']} <ul id="sfWebDebugLogMenu"> <li><a onclick="sfWebDebugToggleAllLogLines(true, 'sfWebDebugLogLine'); return false;" href="javascript:void(0);">[all]</a></li> <li><a onclick="sfWebDebugToggleAllLogLines(false, 'sfWebDebugLogLine'); return false;" href="javascript:void(0);">[none]</a></li> <li><a onclick="sfWebDebugShowOnlyLogLines('info'); return false;" href="javascript:void(0);"><img alt="Show only infos" src="{$debug_pic['info']}"></a></li> <li> <a onclick="sfWebDebugShowOnlyLogLines('warning'); return false;" href="javascript:void(0);"><img alt="Show only warnings" src="{$debug_pic['warning']}"></a> </li> <li><a onclick="sfWebDebugShowOnlyLogLines('error'); return false;" href="javascript:void(0);"><img alt="Show only errors" src="{$debug_pic['error']}"></a></li> <li><a onclick="sfWebDebugToggleMessages('ALERT'); return false;" href="javascript:void(0);">ALERT</a></li> <li><a onclick="sfWebDebugToggleMessages('CRIT'); return false;" href="javascript:void(0);">CRIT</a></li> <li><a onclick="sfWebDebugToggleMessages('DEBUG'); return false;" href="javascript:void(0);">DEBUG</a></li> <li><a onclick="sfWebDebugToggleMessages('EMERG'); return false;" href="javascript:void(0);">EMERG</a></li> <li><a onclick="sfWebDebugToggleMessages('ERR'); return false;" href="javascript:void(0);">ERR</a></li> <li><a onclick="sfWebDebugToggleMessages('INFO'); return false;" href="javascript:void(0);">INFO</a></li> <li><a onclick="sfWebDebugToggleMessages('NOTIC'); return false;" href="javascript:void(0);">NOTIC</a></li> <li><a onclick="sfWebDebugToggleMessages('SQL'); return false;" href="javascript:void(0);">SQL</a></li> <li><a onclick="sfWebDebugToggleMessages('WARN'); return false;" href="javascript:void(0);">WARN</a></li> </ul> <div id="sfWebDebugLogLines"> <table class="sfWebDebugLogs"> <tbody> <tr> <th>#</th> <th>type</th> <th>message</th> </tr> {$log_rows} </tbody> </table> </div> </div> <div style="display:none" class="sfWebDebugTop" id="sfWebDebugtimeDetails"> <h1>Timers</h1> <table style="width:300px" class="sfWebDebugLogs"> <tbody> <tr><th>type</th><th>time</th><th>time(%)</th></tr> {$showtime_output} </tbody> </table> </div> </div> EOPAGE; if (C('TMPL_TRACE_FILE')) { include C('TMPL_TRACE_FILE'); } else { echo $pageContents; } // }
public function home_config() { $cond = array('table' => 'recommend_config', 'fields' => 'type,type_id', 'where' => array('is_show' => 'Y', 'is_delete' => '0'), 'order_by' => 'sort ASC'); $rs = $this->get_all($cond); $home = array(); if ($rs) { $type = array(); foreach ($rs as $key => $row) { $type[$row['type']][] = $row['type_id']; } foreach ($type as $k => $r) { switch ($k) { case 'group': $cond = array('table' => 'groups', 'fields' => 'group_id,group_name,group_img', 'where' => 'group_id IN (' . implode(',', $r) . ')'); $rs = $this->get_all($cond); if ($rs) { foreach ($rs as $key => $row) { $group[$row['group_id']] = $row; } foreach ($r as $line) { if (!isset($group[$line])) { continue; } $home['groups'][] = $group[$line]; } } break; case 'product': $cond = array('table' => 'products', 'fields' => 'product_id,product_name,quantity,price,old_price,tuan_end_time,gallery', 'where' => 'product_id IN (' . implode(',', $r) . ') AND state = "T"'); $rs = $this->get_all($cond); if ($rs) { foreach ($rs as $key => $row) { $products[$row['product_id']] = $row; } foreach ($r as $line) { if (!isset($products[$line])) { continue; } if (!$products[$line]['quantity']) { continue; } $home['products'][] = $products[$line]; } } break; case 'jianren': $query = 'SELECT f.*,gs.group_name,fm.*,ui.nick_name,ui.headimg,ui.sex,ui.birthday,ui.local '; $query .= 'FROM forums as f JOIN groups as gs ON gs.group_id = f.group_id JOIN forum_jianren as fm ON fm.forum_id = f.forum_id JOIN user_info as ui ON ui.user_id = f.create_user '; $query .= 'WHERE f.is_delete = 0 AND f.forum_id IN (' . implode(',', $r) . ')'; $rs = $this->db->query($query)->result_array(); if ($rs) { $forum = array(); foreach ($rs as $key => $row) { $row['create_time'] = showTime($row['create_time']); $row['age'] = getAge($row['birthday']); unset($row['birthday']); $forum[$row['forum_id']] = $row; } foreach ($r as $line) { if (!isset($forum[$line])) { continue; } $home['jianren'][] = $forum[$line]; } } break; default: break; } } } return $home; }
?> .png" /> <font><?php echo $row['age'] ? $row['age'] . '岁' : ''; ?> </font> </dt> <dd node-type="pos"></dd> </dl> <dl class="conbottom"> <dt><?php echo $row['city']; ?> </dt> <dd><?php echo showTime($row['create_time']); ?> </dd> </dl> </li> </a> <span class="clear"></span> </ul> <?php } ?> </div> <?php } ?> <?php
/** * 获取他人的论坛活动 **/ public function getUserForum() { $now_user = $this->get_user_id(TRUE); $user_id = input_int($this->input->get('user'), 1, FALSE, FALSE, '4005'); $type = input_string($this->input->get('type'), array('group', 'tour', 'jianren', 'wenda'), FALSE, '4001'); $page = input_int($this->input->get('page'), 1, FALSE, 1); $perpage = input_int($this->input->get('perpage'), 1, 20, 10); $data = array(); switch ($type) { case 'group': $group_ids = $this->model->get_groups_by_user_id($user_id, $page, $perpage); if ($group_ids) { foreach ($group_ids as $key => $row) { $ids[] = $row['group_id']; } $data = $this->model->get_relation_groups_by_ids(implode(',', $ids), $now_user); } break; case 'tour': case 'jianren': case 'wenda': $forum_index = $this->model->get_user_forum($type, $user_id, $page, $perpage); if ($forum_index) { $this->load->model('group_model'); $forum_detail = $this->group_model->get_forum_detail($forum_index); //获取列表所需数据 用户信息等 foreach ($forum_index as $key => $row) { $row['create_time'] = showTime($row['create_time']); $data[] = array_merge($row, $forum_detail[$row['forum_id']]); } } break; } response_json('1', array($type => $data)); }
?> <img alt="" src="<?php echo $staticUrl; ?> images/boyred.png"/><font><?php echo $post['age'] ? $post['age'] . '岁' : ''; ?> </font> <font><?php echo $post['city']; ?> </font></li> <li class="right"><img alt="" src="<?php echo $staticUrl; ?> images/time.png"/><?php echo showTime($post['create_time']); ?> </li> <li class="text"><?php echo $post['post_detail']; ?> </li> </ul> <?php if (!empty($post['pictures'])) { ?> <?php $imgs = explode(',', $post['pictures']); ?> <div class="list-img"> <ul id="picture_list">
?> " class="bordernone" href="#">屏蔽</a> <?php } ?> </div> </div> <?php } else { ?> <ul class="right"> <li><img alt="" src="<?php echo $staticUrl; ?> images/time.png"/><?php echo showTime($forum['create_time']); ?> </li> <?php if (!empty($session['lat']) && (double) $forum['lat']) { ?> <li class="pos"><a href="#"><img alt="" src="<?php echo $staticUrl; ?> images/pos3.png"/><?php echo echoDistance($session['lat'], $session['lon'], $forum['lat'], $forum['lon']); ?> </a></li> <?php } ?>
function showTimeInterval($date1, $date2, $format, $nosecs = '') { $diff = timediff($date1, $date2, $format, $nosecs); $ret = ""; if ($diff['hours']) { $ret .= " " . $diff['hours'] . ' ' . getLT('hours'); } if ($diff['mins']) { $ret .= " " . $diff['mins'] . ' ' . getLT('minutes'); } if ($diff['secs'] && $nosecs == "") { $ret .= " " . $diff['secs'] . ' ' . getLT('seconds'); } $ret2 = showTime($date1, $nosecs) . "-" . showTime($date2, $nosecs) . " (" . $ret . ")"; return $ret2; }