aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/includes/functions_posting.php31
-rw-r--r--phpBB/styles/subSilver/template/posting_topic_review.html9
2 files changed, 28 insertions, 12 deletions
diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php
index ff9867d11c..127d7b2af4 100644
--- a/phpBB/includes/functions_posting.php
+++ b/phpBB/includes/functions_posting.php
@@ -852,6 +852,16 @@ function topic_review($topic_id, $forum_id, $mode = 'topic_review', $cur_post_id
$post_subject = $row['post_subject'];
$message = $row['post_text'];
+ $decoded_message = false;
+
+ if ($show_quote_button && $auth->acl_get('f_reply', $forum_id))
+ {
+ $decoded_message = $message;
+ decode_message($decoded_message, $row['bbcode_uid']);
+
+ $decoded_message = censor_text($decoded_message);
+ $decoded_message = str_replace("\n", "<br />", $decoded_message);
+ }
if ($row['bbcode_bitfield'])
{
@@ -864,16 +874,17 @@ function topic_review($topic_id, $forum_id, $mode = 'topic_review', $cur_post_id
$message = censor_text($message);
$template->assign_block_vars($mode . '_row', array(
- 'POSTER_NAME' => $poster,
- 'POST_SUBJECT' => $post_subject,
- 'MINI_POST_IMG' => $user->img('icon_post', $user->lang['POST']),
- 'POST_DATE' => $user->format_date($row['post_time']),
- 'MESSAGE' => str_replace("\n", '<br />', $message),
-
- 'U_POST_ID' => $row['post_id'],
- 'U_MINI_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'p=' . $row['post_id']) . '#p' . $row['post_id'],
- 'U_MCP_DETAILS' => ($auth->acl_get('m_info', $forum_id)) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=main&amp;mode=post_details&amp;f=' . $forum_id . '&amp;p=' . $row['post_id'], true, $user->session_id) : '',
- 'U_QUOTE' => ($show_quote_button && $auth->acl_get('f_reply', $forum_id)) ? 'javascript:addquote(' . $row['post_id'] . ", '" . addslashes($poster) . "')" : '')
+ 'POSTER_NAME' => $poster,
+ 'POST_SUBJECT' => $post_subject,
+ 'MINI_POST_IMG' => $user->img('icon_post', $user->lang['POST']),
+ 'POST_DATE' => $user->format_date($row['post_time']),
+ 'MESSAGE' => str_replace("\n", '<br />', $message),
+ 'DECODED_MESSAGE' => $decoded_message,
+
+ 'U_POST_ID' => $row['post_id'],
+ 'U_MINI_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'p=' . $row['post_id']) . '#p' . $row['post_id'],
+ 'U_MCP_DETAILS' => ($auth->acl_get('m_info', $forum_id)) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=main&amp;mode=post_details&amp;f=' . $forum_id . '&amp;p=' . $row['post_id'], true, $user->session_id) : '',
+ 'U_QUOTE' => ($show_quote_button && $auth->acl_get('f_reply', $forum_id)) ? 'javascript:addquote(' . $row['post_id'] . ", '" . addslashes($poster) . "')" : '')
);
unset($rowset[$i]);
}
diff --git a/phpBB/styles/subSilver/template/posting_topic_review.html b/phpBB/styles/subSilver/template/posting_topic_review.html
index 021789776b..6520ddb803 100644
--- a/phpBB/styles/subSilver/template/posting_topic_review.html
+++ b/phpBB/styles/subSilver/template/posting_topic_review.html
@@ -28,7 +28,7 @@
<td>&nbsp;</td>
<td class="gensmall" valign="middle" nowrap="nowrap"><b>{L_POST_SUBJECT}:</b>&nbsp;</td>
<td class="gensmall" width="100%" valign="middle">{topic_review_row.POST_SUBJECT}</td>
- <td valign="top" nowrap="nowrap">&nbsp;<!-- IF topic_review_row.U_QUOTE --><a href="{topic_review_row.U_QUOTE}">{QUOTE_IMG}</a><!-- ENDIF --></td>
+ <td valign="top" nowrap="nowrap">&nbsp;<!-- IF topic_review_row.U_QUOTE and topic_review_row.DECODED_MESSAGE --><a href="{topic_review_row.U_QUOTE}">{QUOTE_IMG}</a><!-- ENDIF --></td>
</tr>
</table>
</td>
@@ -42,7 +42,12 @@
<td valign="top">
<table width="100%" cellspacing="0" cellpadding="2">
<tr>
- <td><div id="message_{topic_review_row.U_POST_ID}"><div class="postbody">{topic_review_row.MESSAGE}</div></div></td>
+ <td>
+ <div class="postbody">{topic_review_row.MESSAGE}</div>
+ <!-- IF topic_review_row.U_QUOTE and topic_review_row.DECODED_MESSAGE -->
+ <div id="message_{topic_review_row.U_POST_ID}" style="display: none;">{topic_review_row.DECODED_MESSAGE}</div>
+ <!-- ENDIF -->
+ </td>
</tr>
</table>
</td>
#n174'>174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199
package timezone; # $Id$

use diagnostics;
use strict;
use vars qw($ntp_servers);

use common;
use log;


sub getTimeZones {
    my ($prefix) = @_;
    local *F;
    open F, "cd $prefix/usr/share/zoneinfo && find [A-Z]* -type f |";
    my @l = chomp_(<F>);
    close F or die "cannot list the available zoneinfos";
    sort @l;
}

sub read {
    my ($prefix) = @_;
    my $f = "$prefix/etc/sysconfig/clock";
    my %t = getVarsFromSh($f) or return;

    (timezone => $t{ZONE}, UTC => text2bool($t{UTC}));
}

sub ntp_server {
    my ($prefix, $server) = @_;

    my $f = "$prefix/etc/ntp.conf";
    -e $f or return;

    if (@_ > 1) {
	my $added = 0;
	substInFile {
	    if (/^#?\s*server\s+(\S*)/ && $1 ne '127.127.1.0') {
		$_ = $added ? "#server $1\n" : "server $server\n";
		$added = 1;
	    }
	} $f;
	output("$prefix/etc/ntp/step-tickers", "$server\n");
    } else {
	($server) = grep { $_ ne '127.127.1.0' } map { if_(/^\s*server\s+(\S*)/, $1) } cat_($f);
    }
    $server;
}

sub write {
    my ($prefix, $t) = @_;

    ntp_server($prefix, $t->{ntp});

    eval { cp_af("$prefix/usr/share/zoneinfo/$t->{timezone}", "$prefix/etc/localtime") };
    $@ and log::l("installing /etc/localtime failed");
    setVarsInSh("$prefix/etc/sysconfig/clock", {
	ZONE => $t->{timezone},
	UTC  => bool2text($t->{UTC}),
	ARC  => "false",
    });
}

my %l2t = (
'Afrikaans (South Africa)' => 'Africa/Johannesburg',
'Arabic' => 'Africa/Cairo',
'Armenian (Armenia)' => 'Asia/Yerevan',
'Azeri (Azerbaijan)' => 'Asia/Baku',
'Belarussian (Belarus)' => 'Europe/Minsk',
'Bosnian (Bosnia)' => 'Europe/Sarajevo',
'Brezhoneg (Brittany)' => 'Europe/Paris',
'Bulgarian (Bulgaria)' => 'Europe/Sofia',
'Catalan' => 'Europe/Madrid',
'Chinese Traditional (Taiwan)' => 'Asia/Taipei',
'Chinese Simplified (China)' => 'Asia/Beijing',
'Croatian (Bosnia)' => 'Europe/Sarajevo',
'Croatian (Croatia)' => 'Europe/Zagreb',
'Cymraeg (Welsh)' => 'Europe/London',
'Czech' => 'Europe/Prague',
'Danish (Denmark)' => 'Europe/Copenhagen',
'Dutch (Netherlands)' => 'Europe/Amsterdam',
'English (United States)' => 'America/New_York',
'English (United Kingdom)' => 'Europe/London',
'Esperanto' => 'Europe/Warsaw',
'Estonian (Estonia)' => 'Europe/Tallinn',
'Euskara (Basque)' => 'Europe/Madrid',
'Finnish (Finland)' => 'Europe/Helsinki',
'French (France)' => 'Europe/Paris',
'French (Belgium)' => 'Europe/Brussels',
'French (Canada)' => 'Canada/Atlantic', # or Newfoundland ? or Eastern ?
'Gaeilge (Ireland)' => 'Europe/Dublin',
'Galego' => 'Europe/Madrid',
'Georgian (Georgia)' => 'Asia/Yerevan',
'German (Austria)' => 'Europe/Vienna',
'German (Germany)' => 'Europe/Berlin',
'Greek (Greece)' => 'Europe/Athens',
'Greenlandic' => 'Arctic/Longyearbyen',
'Hebrew (Israel)' => 'Asia/Tel_Aviv',
'Hungarian (Hungary)' => 'Europe/Budapest',
'Icelandic (Iceland)' => 'Atlantic/Reykjavik',
'Indonesian (Indonesia)' => 'Asia/Jakarta',
'Iranian (Iran)' => 'Asia/Tehran',
'Italian (Italy)' => 'Europe/Rome',
#-'Italian (San Marino)' => 'Europe/San_Marino',
#-'Italian (Vatican)' => 'Europe/Vatican',
#-'Italian (Switzerland)' => 'Europe/Zurich',
'Japanese (Japon)' => 'Asia/Tokyo',
'Korean (Korea)' => 'Asia/Seoul',
'Latvian (Latvia)' => 'Europe/Riga',
'Lithuanian (Lithuania)' => 'Europe/Vilnius',
'Macedonian (Macedonia)' => 'Europe/Skopje',
'Maori (New Zealand)' => 'Australia/Sydney',
'Norwegian (Bokmaal)' => 'Europe/Oslo',
'Norwegian (Nynorsk)' => 'Europe/Oslo',
'Polish (Poland)' => 'Europe/Warsaw',
'Portuguese (Brazil)' => 'Brazil/East', # most people live on the east coast
'Portuguese (Portugal)' => 'Europe/Lisbon',
'Romanian (Rumania)' => 'Europe/Bucharest',
'Russian (Russia)' => 'Europe/Moscow',
'Serbian (Serbia)' => 'Europe/Belgrade',
'Slovak (Slovakia)' => 'Europe/Bratislava',
'Slovenian (Slovenia)' => 'Europe/Ljubljana',
'Spanish (Argentina)' => 'America/Buenos_Aires',
'Spanish (Mexico)' => 'America/Mexico_City',
'Spanish (Spain)' => 'Europe/Madrid',
'Swedish (Sweden)' => 'Europe/Stockholm',
'Tajik (Tajikistan)' => 'Asia/Dushanbe',
'Tamil (Sri Lanka)' => 'Asia/Colombo',
'Tatar' => 'Europe/Minsk',
'Thai (Thailand)' => 'Asia/Bangkok',
'Turkish (Turkey)' => 'Europe/Istanbul',
'Ukrainian (Ukraine)' => 'Europe/Kiev',
'Uzbek (Uzbekistan)' => 'Asia/Tashkent',
'Vietnamese (Vietnam)' => 'Asia/Saigon',
'Walon (Belgium)' => 'Europe/Brussels',
);

sub fuzzyChoice { 
    my ($b, $count) = common::bestMatchSentence($_[0], keys %l2t);
    $count ? $b : '';
}
sub bestTimezone { $l2t{fuzzyChoice($_[0])} || 'GMT' }

my %sex = (
fr_FR => { '[iln]a$' => 1, '[cdilnst]e$' => 1, 'e$' => .8, 'n$' => .1, 'd$' => .05, 't$' => 0 },
en => { 'a$' => 1, 'o$' => 0, '[ln]$' => .3, '[rs]$' => .2 },
);


sub sexProb($) {
    local ($_) = @_;
    my $l = $sex{$ENV{LC_ALL}} or return 0.5;

    my ($prob, $nb) = (0, 0);
    foreach my $k (keys %$l) {
	/$k/ and $prob += $l->{$k}, $nb++;
    }
    $nb ? $prob / $nb : 0.5;
}

$ntp_servers = 
q(Australia (ntp.adelaide.edu.au)
Australia (ntp.saard.net)
Australia (time.esec.com.au)
Canada (ntp.cpsc.ucalgary.ca)
Canada (ntp1.cmc.ec.gc.ca)
Canada (ntp2.cmc.ec.gc.ca)
Canada (time.chu.nrc.ca)
Canada (time.nrc.ca)
Canada (timelord.uregina.ca)
Spain (slug.ctv.es)
France (ntp.univ-lyon1.fr)
Croatia (zg1.ntp.carnet.hr)
Croatia (zg2.ntp.carnet.hr)
Croatia (st.ntp.carnet.hr)
Croatia (ri.ntp.carnet.hr)
Croatia (os.ntp.carnet.hr)
Indonesia (ntp.incaf.net)
Italy (time.ien.it)
Korea, republic of (time.nuri.net)
Norway (fartein.ifi.uio.no)
Russia (ntp.landau.ac.ru)
Singapore (ntp.shim.org)
Slovenia (time.ijs.si)
Slovenia (time.ijs.si)
United kingdom (ntp.cs.strath.ac.uk)
United kingdom (ntp2a.mcc.ac.uk)
United kingdom (ntp2b.mcc.ac.uk)
United kingdom (ntp2c.mcc.ac.uk)
United kingdom (ntp2d.mcc.ac.uk)
United states DE (louie.udel.edu)
United states IL (ntp-0.cso.uiuc.edu)
United states IL (ntp-1.cso.uiuc.edu)
United states IL (ntp-2.cso.uiuc.edu)
United states IN (gilbreth.ecn.purdue.edu)
United states IN (harbor.ecn.purdue.edu)
United states IN (molecule.ecn.purdue.edu)
);

1;