cache_custominfo.php
1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
/**
* [Discuz!] (C)2001-2099 Comsenz Inc.
* This is NOT a freeware, use is subject to license terms
*
* $Id: cache_custominfo.php 26112 2011-12-02 03:06:01Z zhengqingpeng $
*/
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
function build_cache_custominfo() {
$data = C::t('common_setting')->fetch_all(array('extcredits', 'customauthorinfo', 'postno', 'postnocustom'));
$data['customauthorinfo'] = unserialize($data['customauthorinfo']);
$data['customauthorinfo'] = $data['customauthorinfo'][0];
$data['fieldsadd'] = '';
$data['extcredits'] = unserialize($data['extcredits']);
$order = array();
if($data['customauthorinfo']) {
foreach($data['customauthorinfo'] as $k => $v) {
if($v['left']) {
$order['left'][$k] = $v['order'];
}
if($v['menu']) {
$order['menu'][$k] = $v['order'];
}
}
if(!empty($order['left'])) {
asort($order['left']);
}
if(!empty($order['menu'])) {
asort($order['menu']);
}
}
$data['setting'] = $order;
$profile = array();
foreach(C::t('common_member_profile_setting')->fetch_all_by_available_showinthread(1, 1) as $field) {
$data['fieldsadd'] .= ', mp.'.$field['fieldid'].' AS '.$field['fieldid'];
$profile['field_'.$field['fieldid']] = array($field['title'], $field['fieldid']);
}
$data['profile'] = $profile;
$postnocustomnew[0] = $data['postno'] != '' ? (preg_match("/^[\x01-\x7f]+$/", $data['postno']) ? '<sup>'.$data['postno'].'</sup>' : $data['postno']) : '<sup>#</sup>';
$data['postnocustom'] = unserialize($data['postnocustom']);
if(is_array($data['postnocustom'])) {
foreach($data['postnocustom'] as $key => $value) {
$value = trim($value);
$postnocustomnew[$key + 1] = preg_match("/^[\x01-\x7f]+$/", $value) ? '<sup>'.$value.'</sup>' : $value;
}
}
unset($data['customauthorinfo'], $data['postno'], $data['postnocustom'], $data['extcredits']);
$data['postno'] = $postnocustomnew;
savecache('custominfo', $data);
}
?>