SleePy Public Git Projects
Repositories
Main Site
GitHub Profile
SD-SimpleDesk
Code
Commits
Branches
Tags
Search
Tree:
87b5488
Branches
Tags
master
smf21
1.0.1
2.0.0
v.21/2.1.1
v2.1/2.1-RC1
v2.1/2.1-RC2
v2.1/2.1.0
v2.1/2.1.1
v2.1/2.1.2
v2.1/2.1.3
SD-SimpleDesk
install-xml
install-trackip.xml
! I broke everything when moving stuff to /trunk/, but it works now :P
nas
commited
87b5488
at 2010-11-29 05:20:37
install-trackip.xml
Blame
History
Raw
<?xml version="1.0"?> <!DOCTYPE modification SYSTEM "http://www.simplemachines.org/xml/modification"> <modification xmlns="http://www.simplemachines.org/xml/modification" xmlns:smf="http://www.simplemachines.org/"> <id>SimpleDeskTeam:SimpleDesk</id> <version>1.1 rev753</version> <file name="$sourcedir/Profile-View.php"> <operation><!-- add the code to call for IP tracking --> <search position="after"><![CDATA[ $context['single_ip'] = strpos($context['ip'], '*') === false;]]></search> <add><![CDATA[ // Set the options for the helpdesk replies list. if (!empty($modSettings['helpdesk_active'])) { $listOptions = array( 'id' => 'track_helpdesk_list', 'title' => $txt['shd_replies_from_ip'] . ' ' . $context['ip'], 'start_var_name' => 'helpdeskStart', 'items_per_page' => $modSettings['defaultMaxMessages'], 'no_items_label' => $txt['shd_replies_from_ip'], 'base_href' => $context['base_url'] . ';searchip=' . $context['ip'], 'default_sort_col' => 'date2', 'get_items' => array( 'function' => 'shd_list_get_ip_messages', 'params' => array( 'hdtr.poster_ip ' . $ip_string, array('ip_address' => $ip_var), ), ), 'get_count' => array( 'function' => 'shd_list_get_ip_message_count', 'params' => array( 'hdtr.poster_ip ' . $ip_string, array('ip_address' => $ip_var), ), ), 'columns' => array( 'ip_address2' => array( 'header' => array( 'value' => $txt['ip_address'], ), 'data' => array( 'sprintf' => array( 'format' => '<a href="' . $context['base_url'] . ';searchip=%1$s">%1$s</a>', 'params' => array( 'ip' => false, ), ), ), 'sort' => array( 'default' => 'INET_ATON(hdtr.poster_ip)', 'reverse' => 'INET_ATON(hdtr.poster_ip) DESC', ), ), 'display_name' => array( 'header' => array( 'value' => $txt['display_name'], ), 'data' => array( 'db' => 'member_link', ), ), 'subject' => array( 'header' => array( 'value' => $txt['subject'], ), 'data' => array( 'sprintf' => array( 'format' => '<a href="' . $scripturl . '?action=helpdesk;sa=ticket;ticket=%1$s.msg%2$s#msg%2$s" rel="nofollow">%3$s</a>%4$s', 'params' => array( 'ticket' => false, 'id' => false, 'subject' => false, 'additional' => false, ), ), ), ), 'date2' => array( 'header' => array( 'value' => $txt['date'], ), 'data' => array( 'db' => 'time', ), 'sort' => array( 'default' => 'hdtr.id_msg DESC', 'reverse' => 'hdtr.id_msg', ), ), ), 'additional_rows' => array( array( 'position' => 'after_title', 'value' => '<span class="smalltext">' . $txt['shd_replies_from_ip_desc'] . '</span>', 'class' => 'windowbg', 'style' => 'padding: 2ex;', ), ), ); // Create the helpdesk replies list. createList($listOptions); } ]]></add> </operation> <operation><!-- add the code to get IP tracking data --> <search position="end" /> <add><![CDATA[ function shd_list_get_ip_messages($start, $items_per_page, $sort, $where, $where_vars = array()) { global $smcFunc, $txt, $scripturl; $query = shd_db_query('', ' SELECT hdtr.id_msg, hdtr.poster_ip, IFNULL(mem.real_name, hdtr.poster_name) AS display_name, mem.id_member, hdt.subject, hdtr.poster_time, hdt.id_ticket, hdt.id_first_msg FROM {db_prefix}helpdesk_ticket_replies AS hdtr INNER JOIN {db_prefix}helpdesk_tickets AS hdt ON (hdtr.id_ticket = hdt.id_ticket) LEFT JOIN {db_prefix}members AS mem ON (mem.id_member = hdtr.id_member) WHERE {query_see_ticket} AND ' . $where . ' ORDER BY ' . $sort . ' LIMIT ' . $start . ', ' . $items_per_page, array_merge($where_vars, array( )) ); $messages = array(); while ($row = $smcFunc['db_fetch_assoc']($query)) $messages[] = array( 'ip' => $row['poster_ip'], 'member_link' => shd_profile_link($row['display_name'], $row['id_member']), 'ticket' => $row['id_ticket'], 'id' => $row['id_msg'], 'subject' => $row['subject'], 'time' => timeformat($row['poster_time']), 'timestamp' => forum_time(true, $row['poster_time']), 'additional' => $row['id_first_msg'] == $row['id_msg'] ? $txt['shd_is_ticket_opener'] : '', ); $smcFunc['db_free_result']($query); return $messages; } function shd_list_get_ip_message_count($where, $where_vars = array()) { global $smcFunc; $request = shd_db_query('', ' SELECT COUNT(id_msg) AS message_count FROM {db_prefix}helpdesk_ticket_replies AS hdtr INNER JOIN {db_prefix}helpdesk_tickets AS hdt ON (hdtr.id_ticket = hdt.id_ticket) WHERE {query_see_ticket} AND ' . $where, $where_vars ); list ($count) = $smcFunc['db_fetch_row']($request); $smcFunc['db_free_result']($request); return $count; } ]]></add> </operation> </file> <file name="$themedir/Profile.template.php"><!-- add the display of tracked IPs to the profile view --> <operation> <search position="before"><![CDATA[template_show_list('track_message_list');]]></search> <add><![CDATA[ global $modSettings; if (!empty($modSettings['helpdesk_active'])) { echo '<br />'; template_show_list('track_helpdesk_list'); }]]></add> </operation> </file> </modification>