diff --git a/security/mailzu/Makefile b/security/mailzu/Makefile index a0faa8b94b4d..88f1c7a951b9 100644 --- a/security/mailzu/Makefile +++ b/security/mailzu/Makefile @@ -1,64 +1,64 @@ # Created by: Sahil Tandon PORTNAME= mailzu DISTVERSION= 0.8rc3 -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= security MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/MailZu%200.8RC3 PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX} DISTNAME= MailZu_${DISTVERSION:S/rc/RC/} MAINTAINER= ports@bsdserwis.com COMMENT= Simple and intuitive web interface to manage amavisd-new quarantine LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= ${LOCALBASE}/sbin/amavisd:security/amavisd-new \ ${PEARDIR}/DB.php:databases/pear-DB@${PHP_FLAVOR} \ ${PEARDIR}/Mail/mime.php:mail/pear-Mail_Mime@${PHP_FLAVOR} \ ${PEARDIR}/Net/Socket.php:net/pear-Net_Socket@${PHP_FLAVOR} \ ${PEARDIR}/Mail/mimeDecode.php:mail/pear-Mail_mimeDecode@${PHP_FLAVOR} PEARDIR?= ${LOCALBASE}/share/pear PLIST_SUB= WWWOWN="${WWWOWN}" WWWGRP="${WWWGRP}" SUB_FILES= pkg-message NO_BUILD= yes NO_ARCH= yes USE_PHP= sockets USES= php:flavors,web OPTIONS_DEFINE= IMAP LDAP DOCS OPTIONS_MULTI= SQL OPTIONS_MULTI_SQL= MYSQL PGSQL OPTIONS_DEFAULT= MYSQL SQL_DESC= SQL sotage backend MYSQL_DESC= Use MySQL database storage/auth backend (default) PGSQL_DESC= Use PostgreSQL database/auth storage backend IMAP_DESC= Use IMAP auth backend LDAP_DESC= Use LDAP auth backend MYSQL_USE= PHP=mysqli PGSQL_USE= PHP=pgsql IMAP_USE= PHP=imap LDAP_USE= PHP=ldap PORTDOCS= * post-patch: ${INSTALL_DATA} ${FILESDIR}/pl.*.php ${WRKSRC}/lang/ do-install: @${MKDIR} ${STAGEDIR}${WWWDIR} ${INSTALL_DATA} ${WRKSRC}/*.php ${WRKSRC}/*.js ${WRKSRC}/*.css ${STAGEDIR}${WWWDIR} (cd ${WRKSRC} && ${COPYTREE_SHARE} "config contrib img lang lib templates" \ ${STAGEDIR}${WWWDIR} "! -name '*.orig'") (cd ${WRKSRC} && ${COPYTREE_BIN} scripts ${STAGEDIR}${WWWDIR}) ${CHMOD} 644 ${STAGEDIR}${WWWDIR}/config/config.php.sample do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/CHANGELOG ${WRKSRC}/README ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/docs/* ${STAGEDIR}${DOCSDIR} .include diff --git a/security/mailzu/files/patch-config_langs.php b/security/mailzu/files/patch-config_langs.php index 79caddef7ad3..acda9c7f41de 100644 --- a/security/mailzu/files/patch-config_langs.php +++ b/security/mailzu/files/patch-config_langs.php @@ -1,21 +1,25 @@ --- config/langs.php.orig 2007-06-14 19:00:15 UTC +++ config/langs.php @@ -47,7 +47,8 @@ $languages = array ( 'cs' => array('cs([-_][[:alpha:]]{2})?|czech', 'cs.lang.php', 'cs', 'Česky'), 'fr' => array('fr([-_][[:alpha:]]{2})?|french', 'fr.lang.php', 'fr', 'Français'), 'it' => array('it([-_][[:alpha:]]{2})?|italian', 'it.lang.php', 'it', 'Italiano'), - 'pt_BR' => array('pt([-_]br)?|portuguese', 'pt_BR.lang.php', 'pt', 'Portuguese Brazilian') + 'pt_BR' => array('pt([-_]br)?|portuguese', 'pt_BR.lang.php', 'pt', 'Portuguese Brazilian'), + 'pl' => array('cs([-_][[:alpha:]]{2})?|polish', 'pl.lang.php', 'pl', 'Polski') ); // Language files directory -@@ -113,7 +114,7 @@ function get_browser_lang() { +@@ -113,10 +114,10 @@ function get_browser_lang() { global $languages; if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { - $http_accepted = split(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']); -+ $http_accepted = str_split(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']); ++ $http_accepted = explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']); for ($i = 0; $i < count($http_accepted); $i++) { foreach ($languages as $lang => $vals) { - if (eregi($vals[0], $http_accepted[$i])) +- if (eregi($vals[0], $http_accepted[$i])) ++ if (preg_match($vals[0], $http_accepted[$i])) + return $lang; + } + } diff --git a/security/mailzu/files/patch-help.php b/security/mailzu/files/patch-help.php new file mode 100644 index 000000000000..c9e198ddac22 --- /dev/null +++ b/security/mailzu/files/patch-help.php @@ -0,0 +1,148 @@ +--- help.php.orig 2007-06-14 19:00:15 UTC ++++ help.php +@@ -1,73 +1,73 @@ +- +-* @version 07-10-04 +-* @package phpScheduleIt +-* +-* Copyright (C) 2003 - 2005 phpScheduleIt +-* License: GPL, see LICENSE +-*/ +- +-include_once('config/config.php'); +- +-global $languages; +-global $lang; +-global $charset; +- +-echo "\n"; +-?> +- +- +- +-MailZu <?=translate('Help')?> +- +- +- +- +- +- ++ ++* @version 07-10-04 ++* @package phpScheduleIt ++* ++* Copyright (C) 2003 - 2005 phpScheduleIt ++* License: GPL, see LICENSE ++*/ ++ ++include_once('config/config.php'); ++ ++global $languages; ++global $lang; ++global $charset; ++ ++echo "\n"; ++?> ++ ++ ++ ++MailZu <?php echo translate('Help')?> ++ ++ ++ ++ ++ ++ + diff --git a/security/mailzu/files/patch-lib_CmnFns.class.php b/security/mailzu/files/patch-lib_CmnFns.class.php index 605dcb945c2e..11bc4a2061ac 100644 --- a/security/mailzu/files/patch-lib_CmnFns.class.php +++ b/security/mailzu/files/patch-lib_CmnFns.class.php @@ -1,296 +1,377 @@ --- lib/CmnFns.class.php.orig 2007-06-14 19:00:15 UTC +++ lib/CmnFns.class.php @@ -53,7 +53,7 @@ class CmnFns { * @param double $time time to convert in minutes * @return string time in 12 hour time */ - function formatTime($time) { + public static function formatTime($time) { global $conf; // Set up time array with $timeArray[0]=hour, $timeArray[1]=minute @@ -82,7 +82,7 @@ class CmnFns { * @param string $date string (yyyy-mm-dd) * @return int timestamp */ - function formatDateISO($date) { + public static function formatDateISO($date) { $time = strtotime($date); return $time; @@ -94,7 +94,7 @@ class CmnFns { * @param string $format format to put datestamp into * @return string date as $format or as default format */ - function formatDate($date, $format = '') { + public static function formatDate($date, $format = '') { global $dates; if (empty($format)) $format = $dates['general_date']; @@ -108,7 +108,7 @@ class CmnFns { * @param string $format format to put datestamp into * @return string date/time as $format or as default format */ - function formatDateTime($ts, $format = '') { + public static function formatDateTime($ts, $format = '') { global $conf; global $dates; @@ -123,7 +123,7 @@ class CmnFns { * @param int $minutes minutes to convert * @return string version of hours and minutes */ - function minutes_to_hours($minutes) { + public static function minutes_to_hours($minutes) { if ($minutes == 0) return '0 ' . translate('hours'); @@ -137,7 +137,7 @@ class CmnFns { * @param none * @return url url of curent script directory */ - function getScriptURL() { + public static function getScriptURL() { global $conf; $uri = $conf['app']['weburi']; return (strrpos($uri, '/') === false) ? $uri : substr($uri, 0, strlen($uri)); @@ -150,7 +150,7 @@ class CmnFns { * @param string $style inline CSS style definition to apply to box * @param boolean $die whether to kill the app or not */ - function do_error_box($msg, $style='', $die = true) { + public static function do_error_box($msg, $style='', $die = true) { global $conf; echo '
' . $msg . '
'; @@ -171,7 +171,7 @@ class CmnFns { * @param string $msg message to print out * @param string $style inline CSS style definition to apply to box */ - function do_message_box($msg, $style='') { + public static function do_message_box($msg, $style='') { echo '
' . $msg . '
'; } @@ -181,7 +181,7 @@ class CmnFns { * @param none * @return Link object */ - function getNewLink() { + public static function getNewLink() { return new Link(); } @@ -191,7 +191,7 @@ class CmnFns { * @param none * @return Pager object */ - function getNewPager() { + public static function getNewPager() { return new Pager(); } @@ -200,7 +200,7 @@ class CmnFns { * @param none * @return array of cleaned up POST values */ - function cleanPostVals() { + public static function cleanPostVals() { $return = array(); foreach ($_POST as $key => $val) @@ -214,7 +214,7 @@ class CmnFns { * @param none * @return array of cleaned up data */ - function cleanVals($data) { + public static function cleanVals($data) { $return = array(); foreach ($data as $key => $val) @@ -228,7 +228,7 @@ class CmnFns { * @param string $vert value of vertical order * @return string vertical order */ - function get_vert_order($get_name = 'vert') { + public static function get_vert_order($get_name = 'vert') { // If no vertical value is specified, use DESC $vert = isset($_GET[$get_name]) ? $_GET[$get_name] : 'DESC'; @@ -251,7 +251,7 @@ class CmnFns { * @param array $orders all valid order names * @return string order of recorset */ - function get_value_order($orders = array(), $get_name = 'order') { + public static function get_value_order($orders = array(), $get_name = 'order') { if (empty($orders)) // Return null if the order array is empty return NULL; @@ -269,12 +269,12 @@ class CmnFns { /** - * Opposite of php's nl2br function. + * Opposite of php's nl2br public static function. * Subs in a newline for all brs * @param string $subject line to make subs on * @return reformatted line */ - function br2nl($subject) { + public static function br2nl($subject) { return str_replace('
', "\n", $subject); } @@ -284,7 +284,7 @@ class CmnFns { * @param string $userid memeber id of user performing the action * @param string $ip ip address of user performing the action */ - function write_log($string, $userid = NULL, $ip = NULL) { + public static function write_log($string, $userid = NULL, $ip = NULL) { global $conf; $delim = "\t"; $file = $conf['app']['logfile']; @@ -319,7 +319,7 @@ class CmnFns { * @param int $day_of_week day of the week * @param int $type how to return the day name (0 = full, 1 = one letter, 2 = two letter, 3 = three letter) */ - function get_day_name($day_of_week, $type = 0) { + public static function get_day_name($day_of_week, $type = 0) { global $days_full; global $days_abbr; global $days_letter; @@ -343,7 +343,7 @@ class CmnFns { * @param string $location new http location * @param int $time time in seconds to wait before redirect */ - function redirect($location, $time = 0, $die = true) { + public static function redirect($location, $time = 0, $die = true) { header("Refresh: $time; URL=$location"); if ($die) exit; } -@@ -352,7 +352,7 @@ class CmnFns { +@@ -352,11 +352,11 @@ class CmnFns { * Prints out the HTML to choose a language * @param none */ - function print_language_pulldown() { + public static function print_language_pulldown() { global $conf; ?> +- \1', $str); $str = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)', '\1\2', $str); $str = eregi_replace('([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})','\1', $str); @@ -388,7 +388,7 @@ class CmnFns { * @param integer $page value of current page number * @return integer current page number */ - function get_current_page_number($get_name = 'page') { + public static function get_current_page_number($get_name = 'page') { // If no page number is specified, use 0 $page = ( isset($_GET[$get_name]) && is_numeric($_GET[$get_name]) ) ? $_GET[$get_name] : 0; return $page; @@ -399,7 +399,7 @@ class CmnFns { * @param none * @return string mail_id */ - function get_mail_id($get_name = 'mail_id') { + public static function get_mail_id($get_name = 'mail_id') { // If there isnt one set, return NULL $mail_id = (isset($_GET[$get_name])) ? $_GET[$get_name] : NULL; return $mail_id; @@ -413,7 +413,7 @@ class CmnFns { * @param array $exclude_vars to be excluded from the resulting string * @param boolean $url_encode_ampersands */ - function array_to_query_string( $array, $exclude_vars=array(), $url_encode_ampersands=true ) + public static function array_to_query_string( $array, $exclude_vars=array(), $url_encode_ampersands=true ) { if( ! is_array( $array ) ) return ''; @@ -441,7 +441,7 @@ class CmnFns { * @param integer $sizeLimit maximum number of messages per page * @param integer $count total number of messages */ - function genMultiPagesLinks( $page, $sizeLimit, $count) { + public static function genMultiPagesLinks( $page, $sizeLimit, $count) { global $link; $total_pages = $count / $sizeLimit; @@ -501,7 +501,7 @@ class CmnFns { * Generate HTML for search engine * @param $content_type: 'B' (attachment) or 'S' (spam) */ - function searchEngine($content_type, $submit_page, $full_search = false) { + public static function searchEngine($content_type, $submit_page, $full_search = false) { global $conf; $fields_array = array("f" => translate('From'), +@@ -514,11 +514,11 @@ class CmnFns { + + ?> + +- ++ + +- ++ + \n\t\t\t + +
 
 
  +- $name) { +@@ -543,34 +543,34 @@ class CmnFns { + $i ++; + } + ?> +- : ++ : +
 \n" : "  "; + ?> +- +- " /> ++ "; + ?> +  
+- "; echo "parent.location.href = '" . $location . "';"; echo ""; diff --git a/security/mailzu/files/patch-lib_Template.class.php b/security/mailzu/files/patch-lib_Template.class.php index 5ec0cfe0ba80..b8d91c4fbd89 100644 --- a/security/mailzu/files/patch-lib_Template.class.php +++ b/security/mailzu/files/patch-lib_Template.class.php @@ -1,11 +1,100 @@ --- lib/Template.class.php.orig 2007-06-14 19:00:15 UTC +++ lib/Template.class.php -@@ -111,7 +111,7 @@ class Template { +@@ -57,21 +57,21 @@ class Template { + ?> + +- ++ + + +- <?=$this->title?> ++ <?php echo $this->title?> + +- ++ + +- +- ++ ++ + + + +- + +

+- +

+ +

- -+ ++

+
+ + + +- + + +- + + +- +-

v

++

v

+ + +- +-
++ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +@@ -94,9 +94,9 @@ function printLoginForm($msg = '', $resume = '') { + +
+-
++
+
+-

++

+
+ +@@ -47,7 +47,7 @@ function printLoginForm($msg = '', $resume = '') { +
+-

++

+
+ +@@ -56,26 +56,26 @@ function printLoginForm($msg = '', $resume = '') { + +
+-

++

+
+- ++ +
+-

++

+
+- ++ +
+-

++

+
+ +@@ -84,8 +84,8 @@ function printLoginForm($msg = '', $resume = '') { +
+

+- +- ++ ++ +

+
+

+-doLink('javascript: help();', translate('Help'), '', '', translate('Get online help')) ?> ++doLink('javascript: help();', translate('Help'), '', '', translate('Get online help')) ?> +

+ +- diff --git a/security/mailzu/files/patch-templates_common.template.php b/security/mailzu/files/patch-templates_common.template.php new file mode 100644 index 000000000000..13779fe4936b --- /dev/null +++ b/security/mailzu/files/patch-templates_common.template.php @@ -0,0 +1,153 @@ +--- templates/common.template.php.orig 2007-06-14 19:00:15 UTC ++++ templates/common.template.php +@@ -47,10 +47,10 @@ function showQuickLinks() { + + + + + +@@ -58,12 +58,12 @@ function showQuickLinks() { +
+- ++ +
+- doLink("javascript: help('quick_links');", '?', '', 'color: #FFFFFF', translate('Help') . ' - ' . translate('My Quick Links')) ?> ++ doLink("javascript: help('quick_links');", '?', '', 'color: #FFFFFF', translate('Help') . ' - ' . translate('My Quick Links')) ?> +
+
+ + + +@@ -120,7 +120,7 @@ function showQuickLinks() { + + +
+- »': + "

\t"; + $link->doLink('summary.php', translate('Quarantine Summary')) ?> +

+- »': + "

\t"; + $link->doLink('messagesIndex.php?ctype=A', translate('My Quarantine')); +@@ -78,7 +78,7 @@ function showQuickLinks() { + ?> +

+
+- »': +@@ -108,11 +108,11 @@ function showQuickLinks() { + } + ?> +

+- doLink('javascript: help();', translate('Help')) ?> ++ doLink('javascript: help();', translate('Help')) ?> +

+
+

+- doLink('index.php?logout=true', translate('Log Out')) ?> ++ doLink('index.php?logout=true', translate('Log Out')) ?> +

+
+- +
+- + +- +
+- + + +-"; + ?> +- + +
+- ++"; + ?> +
+- + + +- +- +- ++ ++ ++ + + +
+-   +- ++   ++ +
+ +- +-
+-

++
++

+
+- + + +- + +
+- doLink('javascript: help(\'msg_index\');', '?', '', 'color: #FFFFFF;', ++ doLink('javascript: help(\'msg_index\');', '?', '', 'color: #FFFFFF;', + translate('Help') . ' - ' . translate('Email Administrator')) ?> +
+ +@@ -45,11 +45,11 @@ function printsendmail(){ + + + +- ++ + +

+-   
++   
+   

+-   
++   
+   
+   

+ +@@ -60,7 +60,7 @@ function printsendmail(){ +
+ +- + + +- ++ + + + +
+- doLink('javascript: help(\'msg_summary\');', '?', '', 'color: #FFFFFF;', ++ doLink('javascript: help(\'msg_summary\');', '?', '', 'color: #FFFFFF;', + translate('Help') . ' - ' . translate($_SESSION['sessionNav'])) ?> +
+ +@@ -52,29 +52,29 @@ function showSummary($count_array) { + + + +- ++ + + +- ++ + + +- ++ + + +- ++ + + +- ++ + + +- ++ + + +- ++ + + + +- $val) { + echo ''; + echo ($key == 'Total' ? '' : '') . "$key \n"; +@@ -89,7 +89,7 @@ function showSummary($count_array) { + + + +- diff --git a/security/mailzu/files/patch-templates_viewmail.template.php b/security/mailzu/files/patch-templates_viewmail.template.php new file mode 100644 index 000000000000..79dacdd38014 --- /dev/null +++ b/security/mailzu/files/patch-templates_viewmail.template.php @@ -0,0 +1,69 @@ +--- templates/viewmail.template.php.orig 2007-06-14 19:00:15 UTC ++++ templates/viewmail.template.php +@@ -25,7 +25,7 @@ function startMessage() { + + + + +
+- ++ + +
+
+- + + +- + + +- ‹‹ ++ ‹‹ + + +- ++ + | + +- ++ + + + +- + + +- ++ + | +- ++ + + + + +- Options none AllowOverride Limit Order Deny,Allow Deny from all Allow from 127.0.0.1 .example.org + +An example for nginx.conf: + +location /mailzu/ { + alias %%WWWDIR%%/; + index index.php; + allow 127.0.0.0/8; + deny all; + + location ~ \.php$ { + fastcgi_pass unix:/var/run/php-fpm.socket; + fastcgi_param HTTPS on; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $request_filename; + include fastcgi_params; + } +} + EOM } ]