diff --git a/security/mailzu/Makefile b/security/mailzu/Makefile index 88f1c7a951b9..f5d1b4cd6c72 100644 --- a/security/mailzu/Makefile +++ b/security/mailzu/Makefile @@ -1,64 +1,67 @@ # Created by: Sahil Tandon PORTNAME= mailzu DISTVERSION= 0.8rc3 -PORTREVISION= 7 +PORTREVISION= 8 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}/Mail/mimeDecode.php:mail/pear-Mail_mimeDecode@${PHP_FLAVOR} \ + ${PEARDIR}/Net/Socket.php:net/pear-Net_Socket@${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 +USE_PHP= sockets -OPTIONS_DEFINE= IMAP LDAP DOCS -OPTIONS_MULTI= SQL -OPTIONS_MULTI_SQL= MYSQL PGSQL +NO_ARCH= yes +NO_BUILD= yes +SUB_FILES= pkg-message + +PLIST_SUB= WWWGRP="${WWWGRP}" \ + WWWOWN="${WWWOWN}" +PORTDOCS= * + +OPTIONS_DEFINE= DOCS IMAP LDAP 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 +OPTIONS_MULTI= SQL +OPTIONS_MULTI_SQL= MYSQL PGSQL + IMAP_DESC= Use IMAP auth backend LDAP_DESC= Use LDAP auth backend +MYSQL_DESC= Use MySQL database storage/auth backend (default) +PGSQL_DESC= Use PostgreSQL database/auth storage backend +SQL_DESC= SQL sotage backend -MYSQL_USE= PHP=mysqli -PGSQL_USE= PHP=pgsql IMAP_USE= PHP=imap LDAP_USE= PHP=ldap +MYSQL_USE= PHP=mysqli +PGSQL_USE= PHP=pgsql -PORTDOCS= * +PEARDIR?= ${LOCALBASE}/share/pear 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-lib_CmnFns.class.php b/security/mailzu/files/patch-lib_CmnFns.class.php index 11bc4a2061ac..2d6d19fa3c08 100644 --- a/security/mailzu/files/patch-lib_CmnFns.class.php +++ b/security/mailzu/files/patch-lib_CmnFns.class.php @@ -1,377 +1,382 @@ --- 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,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 { +@@ -441,8 +441,12 @@ 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; ++ global $pager_html; ++ global $size_limit; ++ global $query_string_next; ++ global $query_string_last; $total_pages = $count / $sizeLimit; -@@ -501,7 +501,7 @@ class CmnFns { + +@@ -501,7 +505,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_htmlfilter.php b/security/mailzu/files/patch-lib_htmlfilter.php new file mode 100644 index 000000000000..217e7843256d --- /dev/null +++ b/security/mailzu/files/patch-lib_htmlfilter.php @@ -0,0 +1,11 @@ +--- lib/htmlfilter.php.orig 2007-06-14 19:00:15 UTC ++++ lib/htmlfilter.php +@@ -106,7 +106,7 @@ function casenormalize(&$val){ + function skipspace($body, $offset){ + $me = 'skipspace'; + preg_match('/^(\s*)/s', substr($body, $offset), $matches); +- if (sizeof($matches{1})){ ++ if (is_array($matches{1}) && sizeof($matches{1})){ + $count = strlen($matches{1}); + spew("$me: skipped $count chars\n"); + $offset += $count; diff --git a/security/mailzu/pkg-plist b/security/mailzu/pkg-plist index e6863a779cd3..697bf08c08fc 100644 --- a/security/mailzu/pkg-plist +++ b/security/mailzu/pkg-plist @@ -1,176 +1,176 @@ -@sample %%WWWDIR%%/config/config.php.sample +@sample(,,644) %%WWWDIR%%/config/config.php.sample %%WWWDIR%%/config/constants.php %%WWWDIR%%/config/index.html %%WWWDIR%%/config/init.php %%WWWDIR%%/config/langs.php %%WWWDIR%%/contrib/additional_indexes.sql %%WWWDIR%%/contrib/mysql/mysql4.0_compat.diff %%WWWDIR%%/css.css %%WWWDIR%%/functions.js %%WWWDIR%%/help.php %%WWWDIR%%/img/blocked_img.png %%WWWDIR%%/img/en.blocked_img.png %%WWWDIR%%/img/favicon.ico %%WWWDIR%%/img/it.blocked_img.png %%WWWDIR%%/img/mailzu.gif %%WWWDIR%%/index.php %%WWWDIR%%/lang/cs.help.php %%WWWDIR%%/lang/cs.lang.php %%WWWDIR%%/lang/en.help.php %%WWWDIR%%/lang/en_GB.lang.php %%WWWDIR%%/lang/en_US.lang.php %%WWWDIR%%/lang/es.help.php %%WWWDIR%%/lang/es.lang.php %%WWWDIR%%/lang/fr.help.php %%WWWDIR%%/lang/fr.lang.php %%WWWDIR%%/lang/it.help.php %%WWWDIR%%/lang/it.lang.php %%WWWDIR%%/lang/pl.help.php %%WWWDIR%%/lang/pl.lang.php %%WWWDIR%%/lang/pt_BR.lang.php %%WWWDIR%%/lib/AmavisdEngine.class.php %%WWWDIR%%/lib/Auth.class.php %%WWWDIR%%/lib/CmnFns.class.php %%WWWDIR%%/lib/DBAuth.class.php %%WWWDIR%%/lib/DBEngine.class.php %%WWWDIR%%/lib/ExchAuth.class.php %%WWWDIR%%/lib/IMAPAuth.class.php %%WWWDIR%%/lib/LDAPEngine.class.php %%WWWDIR%%/lib/Link.class.php %%WWWDIR%%/lib/MailEngine.class.php %%WWWDIR%%/lib/MailMime.class.php %%WWWDIR%%/lib/PHPMailer.class.php %%WWWDIR%%/lib/Pager.class.php %%WWWDIR%%/lib/Quarantine.lib.php %%WWWDIR%%/lib/Smtp.class.php %%WWWDIR%%/lib/Template.class.php %%WWWDIR%%/lib/htmlfilter.php %%WWWDIR%%/lib/index.html %%WWWDIR%%/lib/pear/DB.php %%WWWDIR%%/lib/pear/DB/common.php %%WWWDIR%%/lib/pear/DB/dbase.php %%WWWDIR%%/lib/pear/DB/fbsql.php %%WWWDIR%%/lib/pear/DB/ibase.php %%WWWDIR%%/lib/pear/DB/ifx.php %%WWWDIR%%/lib/pear/DB/msql.php %%WWWDIR%%/lib/pear/DB/mssql.php %%WWWDIR%%/lib/pear/DB/mysql.php %%WWWDIR%%/lib/pear/DB/mysqli.php %%WWWDIR%%/lib/pear/DB/oci8.php %%WWWDIR%%/lib/pear/DB/odbc.php %%WWWDIR%%/lib/pear/DB/pgsql.php %%WWWDIR%%/lib/pear/DB/sqlite.php %%WWWDIR%%/lib/pear/DB/storage.php %%WWWDIR%%/lib/pear/DB/sybase.php %%WWWDIR%%/lib/pear/Mail/mime.php %%WWWDIR%%/lib/pear/Mail/mimeDecode.php %%WWWDIR%%/lib/pear/Mail/mimePart.php %%WWWDIR%%/lib/pear/Net/Socket.php %%WWWDIR%%/lib/pear/OS/Guess.php %%WWWDIR%%/lib/pear/PEAR.php %%WWWDIR%%/lib/pear/PEAR/Autoloader.php %%WWWDIR%%/lib/pear/PEAR/Builder.php %%WWWDIR%%/lib/pear/PEAR/ChannelFile.php %%WWWDIR%%/lib/pear/PEAR/ChannelFile/Parser.php %%WWWDIR%%/lib/pear/PEAR/Command.php %%WWWDIR%%/lib/pear/PEAR/Command/Auth.php %%WWWDIR%%/lib/pear/PEAR/Command/Auth.xml %%WWWDIR%%/lib/pear/PEAR/Command/Build.php %%WWWDIR%%/lib/pear/PEAR/Command/Build.xml %%WWWDIR%%/lib/pear/PEAR/Command/Channels.php %%WWWDIR%%/lib/pear/PEAR/Command/Channels.xml %%WWWDIR%%/lib/pear/PEAR/Command/Common.php %%WWWDIR%%/lib/pear/PEAR/Command/Config.php %%WWWDIR%%/lib/pear/PEAR/Command/Config.xml %%WWWDIR%%/lib/pear/PEAR/Command/Install.php %%WWWDIR%%/lib/pear/PEAR/Command/Install.xml %%WWWDIR%%/lib/pear/PEAR/Command/Mirror.php %%WWWDIR%%/lib/pear/PEAR/Command/Mirror.xml %%WWWDIR%%/lib/pear/PEAR/Command/Package.php %%WWWDIR%%/lib/pear/PEAR/Command/Package.xml %%WWWDIR%%/lib/pear/PEAR/Command/Pickle.php %%WWWDIR%%/lib/pear/PEAR/Command/Pickle.xml %%WWWDIR%%/lib/pear/PEAR/Command/Registry.php %%WWWDIR%%/lib/pear/PEAR/Command/Registry.xml %%WWWDIR%%/lib/pear/PEAR/Command/Remote.php %%WWWDIR%%/lib/pear/PEAR/Command/Remote.xml %%WWWDIR%%/lib/pear/PEAR/Command/Test.php %%WWWDIR%%/lib/pear/PEAR/Command/Test.xml %%WWWDIR%%/lib/pear/PEAR/Common.php %%WWWDIR%%/lib/pear/PEAR/Config.php %%WWWDIR%%/lib/pear/PEAR/Dependency.php %%WWWDIR%%/lib/pear/PEAR/Dependency2.php %%WWWDIR%%/lib/pear/PEAR/DependencyDB.php %%WWWDIR%%/lib/pear/PEAR/Downloader.php %%WWWDIR%%/lib/pear/PEAR/Downloader/Package.php %%WWWDIR%%/lib/pear/PEAR/ErrorStack.php %%WWWDIR%%/lib/pear/PEAR/Exception.php %%WWWDIR%%/lib/pear/PEAR/Frontend.php %%WWWDIR%%/lib/pear/PEAR/Frontend/CLI.php %%WWWDIR%%/lib/pear/PEAR/Installer.php %%WWWDIR%%/lib/pear/PEAR/Installer/Role.php %%WWWDIR%%/lib/pear/PEAR/Installer/Role/Common.php %%WWWDIR%%/lib/pear/PEAR/Installer/Role/Data.php %%WWWDIR%%/lib/pear/PEAR/Installer/Role/Data.xml %%WWWDIR%%/lib/pear/PEAR/Installer/Role/Doc.php %%WWWDIR%%/lib/pear/PEAR/Installer/Role/Doc.xml %%WWWDIR%%/lib/pear/PEAR/Installer/Role/Ext.php %%WWWDIR%%/lib/pear/PEAR/Installer/Role/Ext.xml %%WWWDIR%%/lib/pear/PEAR/Installer/Role/Php.php %%WWWDIR%%/lib/pear/PEAR/Installer/Role/Php.xml %%WWWDIR%%/lib/pear/PEAR/Installer/Role/Script.php %%WWWDIR%%/lib/pear/PEAR/Installer/Role/Script.xml %%WWWDIR%%/lib/pear/PEAR/Installer/Role/Src.php %%WWWDIR%%/lib/pear/PEAR/Installer/Role/Src.xml %%WWWDIR%%/lib/pear/PEAR/Installer/Role/Test.php %%WWWDIR%%/lib/pear/PEAR/Installer/Role/Test.xml %%WWWDIR%%/lib/pear/PEAR/PackageFile.php %%WWWDIR%%/lib/pear/PEAR/PackageFile/Generator/v1.php %%WWWDIR%%/lib/pear/PEAR/PackageFile/Generator/v2.php %%WWWDIR%%/lib/pear/PEAR/PackageFile/Parser/v1.php %%WWWDIR%%/lib/pear/PEAR/PackageFile/Parser/v2.php %%WWWDIR%%/lib/pear/PEAR/PackageFile/v1.php %%WWWDIR%%/lib/pear/PEAR/PackageFile/v2.php %%WWWDIR%%/lib/pear/PEAR/PackageFile/v2/Validator.php %%WWWDIR%%/lib/pear/PEAR/PackageFile/v2/rw.php %%WWWDIR%%/lib/pear/PEAR/Packager.php %%WWWDIR%%/lib/pear/PEAR/REST.php %%WWWDIR%%/lib/pear/PEAR/REST/10.php %%WWWDIR%%/lib/pear/PEAR/REST/11.php %%WWWDIR%%/lib/pear/PEAR/Registry.php %%WWWDIR%%/lib/pear/PEAR/Remote.php %%WWWDIR%%/lib/pear/PEAR/RunTest.php %%WWWDIR%%/lib/pear/PEAR/Task/Common.php %%WWWDIR%%/lib/pear/PEAR/Task/Postinstallscript.php %%WWWDIR%%/lib/pear/PEAR/Task/Postinstallscript/rw.php %%WWWDIR%%/lib/pear/PEAR/Task/Replace.php %%WWWDIR%%/lib/pear/PEAR/Task/Replace/rw.php %%WWWDIR%%/lib/pear/PEAR/Task/Unixeol.php %%WWWDIR%%/lib/pear/PEAR/Task/Unixeol/rw.php %%WWWDIR%%/lib/pear/PEAR/Task/Windowseol.php %%WWWDIR%%/lib/pear/PEAR/Task/Windowseol/rw.php %%WWWDIR%%/lib/pear/PEAR/Validate.php %%WWWDIR%%/lib/pear/PEAR/Validator/PECL.php %%WWWDIR%%/lib/pear/PEAR/XMLParser.php %%WWWDIR%%/lib/pear/System.php %%WWWDIR%%/lib/pear/license.txt %%WWWDIR%%/messagesAdmin.php %%WWWDIR%%/messagesIndex.php %%WWWDIR%%/messagesPending.php %%WWWDIR%%/messagesPendingAdmin.php %%WWWDIR%%/messagesProcessing.php %%WWWDIR%%/messagesSummary.php %%WWWDIR%%/read_mail.php %%WWWDIR%%/read_original.php %%WWWDIR%%/scripts/mz_db_clean.pl %%WWWDIR%%/sendErrorReport.php %%WWWDIR%%/send_mail.php %%WWWDIR%%/summary.php %%WWWDIR%%/templates/auth.template.php %%WWWDIR%%/templates/common.template.php %%WWWDIR%%/templates/index.html %%WWWDIR%%/templates/quarantine.template.php %%WWWDIR%%/templates/sendmail.template.php %%WWWDIR%%/templates/summary.template.php %%WWWDIR%%/templates/viewmail.template.php @dir(%%WWWOWN%%,%%WWWGRP%%,) %%WWWDIR%%