source: trunk/administration/activityTrac.php

Last change on this file was 2, checked in by george, 14 years ago
  • Přidáno: Trunk revize 13719.
File size: 2.4 KB
Line 
1<?php
2
3require_once('../inc/header.inc.php');
4require_once(BX_DIRECTORY_PATH_INC . 'db.inc.php');
5require_once(BX_DIRECTORY_PATH_INC . 'utils.inc.php');
6require_once(BX_DIRECTORY_PATH_INC . 'languages.inc.php');
7require_once(BX_DIRECTORY_PATH_INC . 'profiles.inc.php');
8
9$logged['admin'] = member_auth( 1, true, true );
10$ADMIN = $logged[admin];
11
12ob_start();
13
14if (isset($_GET['iUser'])) {
15 $aInfo = getUserActions($_GET['iUser']);
16 echo displayUserActions($aInfo);
17
18 $sResult = ob_get_clean();
19} else exit;
20
21$iNameIndex = 0;
22$_page = array(
23 'name_index' => $iNameIndex,
24 'css_name' => array('activityTrac.css')
25);
26$_page_cont[$iNameIndex]['page_main_code'] = $sResult;
27
28PageCodeAdmin();
29
30
31function getUserActions ($iUser) {
32 $iUser = (int)$iUser;
33 $sqlQuery = "SELECT `alertId`, `actionUnit`, `alertRcpId`, `actionText`, `actionDate` FROM `sys_notifications` WHERE `actionAuthId`='$iUser' ORDER BY `actionDate` DESC";
34 $rData = db_res($sqlQuery);
35 $aList = array();
36 while ($aData = mysql_fetch_assoc($rData))
37 $aList[$aData['alertId']] = $aData;
38
39 return $aList;
40}
41
42function displayUserActions ($aInfo) {
43 if (!empty($aInfo)) {
44 ob_start();
45 ?>
46 <div class="alertUnit">
47 <div class="alertRcpt">__alertRcpId__</div>
48 <div class="alertMessage">__actionText__</div>
49 <div class="alertDate">__actionDate__</div>
50 </div>
51 <?
52 $sTempl = ob_get_clean();
53 $aRepl = array('alertRcpId', 'actionText', 'actionDate');
54 $aHeader = array('alertRcpId'=>'Recipient', 'actionText'=>'return "Text for recipient";', 'actionDate'=>'When');
55 $sCode = replaceTempl($aHeader, $aRepl, $sTempl);
56 foreach ($aInfo as $iKey => $aValue)
57 $sCode .= replaceTempl($aValue, $aRepl, $sTempl);
58
59 return $sCode;
60 }
61}
62
63function replaceTempl ($aUnit, $aRepl, $sTempl) {
64 $sCode = $sTempl;
65 $sRepl = '';
66 foreach ($aRepl as $sValue) {
67 switch ($sValue) {
68 case 'alertRcpId':
69 $sRepl = $aUnit['alertRcpId'] != 0 ? getNickName($aUnit['alertRcpId']): $aUnit['alertRcpId'];
70 break;
71 case 'actionText':
72 if (strlen($aUnit['actionText']) > 0) {
73 $func = create_function('', $aUnit['actionText']);
74 $sRepl = $func();
75 }
76 else
77 $sRepl = '';
78 break;
79 case 'actionDate':
80 $sRepl = (int)$aUnit['actionDate'] > 0 ? _format_when(time() - (int)$aUnit['actionDate']) . ' ('. getLocaleDate((int)$aUnit['actionDate']) .')' : $aUnit['actionDate'];
81 break;
82 }
83 $sCode = str_replace('__'.$sValue.'__', $sRepl, $sCode);
84 }
85
86 return $sCode.'<div class="clear_both"></div>';
87}
88
89?>
Note: See TracBrowser for help on using the repository browser.