function export_msg_data($m, &$msg_subject, &$msg_body, &$msg_icon, &$msg_smiley_disabled, &$msg_show_sig, &$msg_track, &$msg_to_list, $repl = 0) { $msg_subject = $m->subject; $msg_body = read_pmsg_body($m->foff, $m->length); $msg_icon = $m->icon; $msg_smiley_disabled = $m->pmsg_opt & 2 ? '2' : ''; $msg_show_sig = $m->pmsg_opt & 1 ? '1' : ''; $msg_track = $m->pmsg_opt & 4 ? '4' : ''; $msg_to_list = $m->to_list; reverse_fmt($msg_subject); /* we do not revert replacment for forward/quote */ if ($repl) { $msg_subject = apply_reverse_replace($msg_subject); $msg_body = apply_reverse_replace($msg_body); } if (!$msg_smiley_disabled) { $msg_body = post_to_smiley($msg_body); } if ($GLOBALS['FUD_OPT_1'] & 4096) { $msg_body = html_to_tags($msg_body); } else { if ($GLOBALS['FUD_OPT_1'] & 2048) { reverse_fmt($msg_body); reverse_nl2br($msg_body); } } }
function tmpl_drawpmsg($obj, $usr, $mini) { $o1 =& $GLOBALS['FUD_OPT_1']; $o2 =& $GLOBALS['FUD_OPT_2']; $a =& $obj->users_opt; $b =& $usr->users_opt; $c =& $obj->level_opt; if (!$mini) { $custom_tag = $obj->custom_status ? '<br />' . $obj->custom_status : ''; if ($obj->avatar_loc && $a & 8388608 && $b & 8192 && $o1 & 28 && !($c & 2)) { if (!($c & 1)) { $level_name =& $obj->level_name; $level_image = $obj->level_img ? ' <img src="images/' . $obj->level_img . '" alt="" />' : ''; } else { $level_name = $level_image = ''; } } else { $level_image = $obj->level_img ? ' <img src="images/' . $obj->level_img . '" alt="" />' : ''; $obj->avatar_loc = ''; $level_name =& $obj->level_name; } $avatar = $obj->avatar_loc || $level_image ? '<td class="avatarPad" width="1">' . $obj->avatar_loc . $level_image . '</td>' : ''; $dmsg_tags = $custom_tag || $level_name ? '<div class="ctags">' . $level_name . $custom_tag . '</div>' : ''; if ($o2 & 32 && !($a & 32768) || $b & 1048576) { $obj->login = $obj->alias; $online_indicator = $obj->last_visit + $GLOBALS['LOGEDIN_TIMEOUT'] * 60 > __request_timestamp__ ? '<img src="/egroupware/fudforum/3814588639/theme/italian/images/online.gif" alt="' . $user_login . ' è attualmente online" title="' . $user_login . ' è attualmente online" />' : '<img src="/egroupware/fudforum/3814588639/theme/italian/images/offline.gif" alt="' . $user_login . ' è attualmente offline" title="' . $user_login . ' è attualmente offline" />'; } else { $online_indicator = ''; } $host_name = $obj->host_name && $o1 & 268435456 ? '<b>Da:</b> ' . $obj->host_name . '<br />' : ''; $ip_address = ''; if ($obj->location) { if (strlen($obj->location) > $GLOBALS['MAX_LOCATION_SHOW']) { $location = substr($obj->location, 0, $GLOBALS['MAX_LOCATION_SHOW']) . '...'; } else { $location = $obj->location; } $location = '<br /><b>Località:</b> ' . $location; } else { $location = ''; } $msg_icon = !$obj->icon ? '' : '<img src="images/message_icons/' . $obj->icon . '" alt="" /> '; $usr->buddy_list = @unserialize($usr->buddy_list); if ($obj->user_id != _uid && $obj->user_id > 0) { $buddy_link = !isset($usr->buddy_list[$obj->user_id]) ? '<a href="/egroupware/fudforum/3814588639/index.php?t=buddy_list&' . _rsid . '&add=' . $obj->user_id . '" class="GenLink">aggiungi alla buddy list</a><br />' : '<br />[<a href="/egroupware/fudforum/3814588639/index.php?t=buddy_list&del=' . $obj->user_id . '&redr=1&' . _rsid . '" class="GenLink">remove from buddy list</a>]'; } else { $buddy_link = ''; } /* show im buttons if need be */ if ($b & 16384) { $im_icq = $obj->icq ? '<a href="/egroupware/fudforum/3814588639/index.php?t=usrinfo&id=' . $obj->user_id . '&' . _rsid . '#icq_msg"><img src="/egroupware/fudforum/3814588639/theme/italian/images/icq.gif" alt="" title="' . $obj->icq . '" /></a> ' : ''; $im_aim = $obj->aim ? '<a href="aim:goim?screenname=' . $obj->aim . '&message=Hi.+Are+you+there?" target="_blank"><img src="/egroupware/fudforum/3814588639/theme/italian/images/aim.gif" title="' . $obj->aim . '" alt="" /></a> ' : ''; $im_yahoo = $obj->yahoo ? '<a target="_blank" href="http://edit.yahoo.com/config/send_webmesg?.target=' . $obj->yahoo . '&.src=pg"><img src="/egroupware/fudforum/3814588639/theme/italian/images/yahoo.gif" alt="" title="' . $obj->yahoo . '" /></a> ' : ''; $im_msnm = $obj->msnm ? '<a href="mailto:' . $obj->msnm . '"><img src="/egroupware/fudforum/3814588639/theme/italian/images/msnm.gif" title="' . $obj->msnm . '" alt="" /></a>' : ''; $im_jabber = $obj->jabber ? '<img src="/egroupware/fudforum/3814588639/theme/italian/images/jabber.gif" title="' . $obj->jabber . '" alt="" />' : ''; if ($o2 & 2048) { $im_affero = $obj->affero ? '<a href="http://svcs.affero.net/rm.php?r=' . $obj->affero . '&ll=0.' . urlencode($GLOBALS['affero_domain']['host']) . '&lp=0.' . urlencode($GLOBALS['affero_domain']['host']) . '&ls=' . urlencode($obj->subject) . '" target=_blank><img alt="" src="/egroupware/fudforum/3814588639/theme/italian/images/affero_reg.gif" /></a>' : '<a href="http://svcs.affero.net/rm.php?m=' . urlencode($obj->email) . '&ll=0.' . urlencode($GLOBALS['affero_domain']['host']) . '&lp=0.' . urlencode($GLOBALS['affero_domain']['host']) . '&ls=' . urlencode($obj->subject) . '" target=_blank><img alt="" src="/egroupware/fudforum/3814588639/theme/italian/images/affero_noreg.gif" /></a>'; } else { $im_affero = ''; } $dmsg_im_row = $im_icq || $im_aim || $im_yahoo || $im_msnm || $im_jabber || $im_affero ? $im_icq . ' ' . $im_aim . ' ' . $im_yahoo . ' ' . $im_msnm . ' ' . $im_jabber . ' ' . $im_affero . '<br />' : ''; } else { $dmsg_im_row = ''; } if ($obj->ouser_id != _uid) { $user_profile = '<a class="GenLink" href="/egroupware/fudforum/3814588639/index.php?t=usrinfo&id=' . $obj->user_id . '&' . _rsid . '"><img src="/egroupware/fudforum/3814588639/theme/italian/images/msg_about.gif" alt="" /></a>'; $email_link = $o1 & 4194304 && $a & 16 ? '<a class="GenLink" href="/egroupware/fudforum/3814588639/index.php?t=email&toi=' . $obj->user_id . '&' . _rsid . '"><img src="/egroupware/fudforum/3814588639/theme/italian/images/msg_email.gif" alt="" /></a>' : ''; $private_msg_link = '<a class="GenLink" href="/egroupware/fudforum/3814588639/index.php?t=ppost&toi=' . $obj->user_id . '&' . _rsid . '"><img title="Invia un messaggi privato a questo utente" src="/egroupware/fudforum/3814588639/theme/italian/images/msg_pm.gif" alt="" /></a>'; } else { $user_profile = $email_link = $private_msg_link = ''; } $edit_link = $obj->fldr == 4 ? '<a class="GenLink" href="/egroupware/fudforum/3814588639/index.php?t=ppost&msg_id=' . $obj->id . '&' . _rsid . '"><img src="/egroupware/fudforum/3814588639/theme/italian/images/msg_edit.gif" alt="" /></a> ' : ''; if ($obj->fldr == 1) { $reply_link = '<a class="GenLink" href="/egroupware/fudforum/3814588639/index.php?t=ppost&reply=' . $obj->id . '&' . _rsid . '"><img src="/egroupware/fudforum/3814588639/theme/italian/images/msg_reply.gif" alt="" /></a> '; $quote_link = '<a class="GenLink" href="/egroupware/fudforum/3814588639/index.php?t=ppost&quote=' . $obj->id . '&' . _rsid . '"><img src="/egroupware/fudforum/3814588639/theme/italian/images/msg_quote.gif" alt="" /></a> '; } else { $reply_link = $quote_link = ''; } $profile_link = '<a class="GenLink" href="/egroupware/fudforum/3814588639/index.php?t=usrinfo&id=' . $obj->user_id . '&' . _rsid . '">' . $obj->alias . '</a>'; $dmsg_user_info = '<br /><b>Messaggi:</b> ' . $obj->posted_msg_count . '<br /> <b>Registrato:</b> ' . strftime("%B %Y", $obj->join_date) . ' ' . $location; $msg_toolbar = '<tr><td colspan="2" class="MsgToolBar"><table border=0 cellspacing=0 cellpadding=0 width="100%"><tr> <td nowrap align="left">' . $user_profile . ' ' . $email_link . ' ' . $private_msg_link . '</td> <td nowrap align="right"><a class="GenLink" href="/egroupware/fudforum/3814588639/index.php?t=pmsg&' . _rsid . '&btn_delete=1&sel=' . $obj->id . '"><img src="/egroupware/fudforum/3814588639/theme/italian/images/msg_delete.gif" alt="" /></a> ' . $edit_link . $reply_link . $quote_link . '<a class="GenLink" href="/egroupware/fudforum/3814588639/index.php?t=ppost&forward=' . $obj->id . '&' . _rsid . '"><img src="/egroupware/fudforum/3814588639/theme/italian/images/msg_forward.gif" alt="" /></a></td> </tr></table></td></tr>'; } else { $dmsg_user_info = $dmsg_tags = $dmsg_im_row = $user_profile = $msg_toolbar = $buddy_link = $avatar = $online_indicator = $host_name = $location = $msg_icon = ''; $profile_link = $obj->alias; } $msg_body = $obj->length ? read_pmsg_body($obj->foff, $obj->length) : 'Non c'è il corpo del messaggio!'; $file_attachments = ''; if ($obj->attach_cnt) { $c = uq('SELECT a.id, a.original_name, a.dlcount, m.icon, a.fsize FROM phpgw_fud_attach a LEFT JOIN phpgw_fud_mime m ON a.mime_type=m.id WHERE a.message_id=' . $obj->id . ' AND attach_opt=1'); while ($r = db_rowobj($c)) { $sz = $r->fsize / 1024; $sz = $sz < 1000 ? number_format($sz, 2) . 'KB' : number_format($sz / 1024, 2) . 'MB'; if (!$r->icon) { $r->icon = 'unknown.gif'; } $file_attachments .= '<tr> <td valign=middle><a class="GenLink" href="/egroupware/fudforum/3814588639/index.php?t=getfile&id=' . $r->id . '&' . _rsid . '&private=1"><img src="images/mime/' . $r->icon . '" alt="" /></a></td> <td><font class="GenText"><b>Attachment:</b></font> <a class="GenLink" href="/egroupware/fudforum/3814588639/index.php?t=getfile&id=' . $r->id . '&' . _rsid . '&private=1">' . $r->original_name . '</a><br /> <font class="SmallText">(Dimensione: ' . $sz . ', Downloaded ' . $r->dlcount . ' time(s))</font></td></tr>'; } if ($file_attachments) { $file_attachments = '<p> <table border=0 cellspacing=0 cellpadding=2> ' . $file_attachments . ' </table>'; } } $signature = $obj->sig && $o1 & 32768 && $obj->pmsg_opt & 1 && $b & 4096 ? '<p><u> </u><br />' . $obj->sig : ''; return '<tr><td><table cellspacing=0 cellpadding=0 class="MsgTable"> <tr> <td valign="top" align="left" class="MsgR1"><font class="MsgSubText">' . $msg_icon . $obj->subject . '</font></td> <td valign="top" align="right" class="MsgR1"><font class="DateText">' . strftime("%a, %d %B %Y %H:%M", $obj->post_stamp) . '</font></td> </tr> <tr class="MsgR2"><td class="MsgR2" colspan=2><table border="0" cellspacing="0" cellpadding="0" class="ContentTable"> <tr class="MsgR2"> ' . $avatar . ' <td class="msgud">' . $online_indicator . $profile_link . $dmsg_user_info . '</td> <td class="msgud">' . $dmsg_tags . '</td> <td class="msgot">' . $buddy_link . $dmsg_im_row . '</td> </tr></table></td> </tr> <tr><td class="MsgR3" colspan=2>' . $msg_body . $file_attachments . $signature . '</td></tr> ' . $msg_toolbar . ' <tr><td class="MsgR2" align="center" colspan=2>' . $GLOBALS['dpmsg_prev_message'] . ' ' . $GLOBALS['dpmsg_next_message'] . '</td></tr> </table></td></tr>'; }
echo "100% Done<br>\n"; echo "Compacting private messages...<br>\n"; flush(); if (__dbtype__ == 'mysql') { q('ALTER TABLE ' . $tbl . 'pmsg ADD INDEX(foff)'); } else { q('CREATE INDEX ' . $tbl . 'pmsg_foff_idx ON ' . $tbl . 'pmsg (foff)'); } db_lock($tbl . 'pmsg WRITE'); $i = $off = $len = 0; $stm2 = time(); $fp = fopen($MSG_STORE_DIR . 'private_tmp', 'wb'); $pc = round(q_singleval('SELECT count(*) FROM ' . $tbl . 'pmsg') / 10); $c = q('SELECT distinct(foff), length FROM ' . $tbl . 'pmsg'); while ($r = db_rowarr($c)) { if (($len = fwrite($fp, read_pmsg_body($r[0], $r[1]))) != $r[1] || !fflush($fp)) { exit("FATAL ERROR: system has ran out of disk space<br>\n"); } q('UPDATE ' . $tbl . 'pmsg SET foff=' . $off . ', length=' . $len . ' WHERE foff=' . $r[0]); $off += $len; if ($i && !($i % $pc)) { eta_calc($stm2, $i, $pc); } $i++; } unset($c); fclose($fp); if (__dbtype__ == 'mysql') { q('ALTER TABLE ' . $tbl . 'pmsg DROP index foff'); } else { q('DROP INDEX ' . $tbl . 'pmsg_foff_idx');