Thread: SF.net SVN: postfixadmin: [99] trunk/functions.inc.php
Brought to you by:
christian_boltz,
gingerdog
From: <chr...@us...> - 2007-09-27 23:24:57
|
Revision: 99 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=99&view=rev Author: christian_boltz Date: 2007-09-27 16:24:48 -0700 (Thu, 27 Sep 2007) Log Message: ----------- - fix: added edit_mailbox as allowed log action Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2007-09-25 20:07:00 UTC (rev 98) +++ trunk/functions.inc.php 2007-09-27 23:24:48 UTC (rev 99) @@ -1423,7 +1423,7 @@ global $table_log; $REMOTE_ADDR = $_SERVER['REMOTE_ADDR']; - $action_list = array('create_alias', 'delete_alias', 'edit_alias', 'create_mailbox', 'delete_mailbox', 'edit_alias_state', 'edit_mailbox_state', 'edit_password'); + $action_list = array('create_alias', 'delete_alias', 'edit_alias', 'create_mailbox', 'delete_mailbox', 'edit_mailbox', 'edit_alias_state', 'edit_mailbox_state', 'edit_password'); if(!in_array($action, $action_list)) { die("Invalid log action : $action"); // could do with something better? This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2007-09-28 19:27:48
|
Revision: 101 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=101&view=rev Author: GingerDog Date: 2007-09-28 12:27:51 -0700 (Fri, 28 Sep 2007) Log Message: ----------- functions.inc.php: fix escape_string to handle arrays, move magic_quotes stuff to common.php; add flash message stuff (See also header.php) Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2007-09-27 23:46:59 UTC (rev 100) +++ trunk/functions.inc.php 2007-09-28 19:27:51 UTC (rev 101) @@ -98,6 +98,39 @@ } +/** + * Add an error message for display on the next page that is rendered. + * @param String message to show. + * + * Stores string in session. Flushed through header template. + * @see _flash_string() + */ +function flash_error($string) { + _flash_string('error', $string); +} + +/** + * Used to display an info message on successful update. + * @param String $string + * Stores data in sessio. + * @see _flash_string() + */ +function flash_info($string) { + _flash_string('info', $string); +} +/** + * 'Private' method used for flash_info() and flash_error(). + */ +function _flash_string($type, $string) { + if(!isset($_SESSION['flash'])) { + $_SESSION['flash'] = array(); + } + if(!isset($_SESSION['flash'][$type])) { + $_SESSION['flash'][$type] = array(); + } + $_SESSION['flash'][$type][] = $string; +} + // // check_language // Action: checks what language the browser uses @@ -232,16 +265,26 @@ -// -// escape_string -// Action: Escape a string -// Call: escape_string (string string) -// -(ini_get('magic_quotes_gpc') ? ini_set('magic_quotes_runtime', '0') : '1'); -(ini_get('magic_quotes_gpc') ? ini_set('magic_quotes_sybase', '0') : '1'); +/** + * Clean a string, escaping any meta characters that could be + * used to disrupt an SQL string. i.e. "'" => "\'" etc. + * + * @param String (or Array) + * @return String (or Array) of cleaned data, suitable for use within an SQL + * statement. + */ function escape_string ($string) { global $CONF; + // if the string is actually an array, do a recursive cleaning. + // Note, the array keys are not cleaned. + if(is_array($string)) { + $clean = array(); + foreach($string as $row) { + $clean[] = escape_string($row); + } + return $clean; + } if (get_magic_quotes_gpc ()) { $string = stripslashes($string); @@ -619,23 +662,38 @@ } - -// -// list_domains_for_admin -// Action: Lists all the domains for an admin. -// Call: list_domains_for_admin (string admin) -// +/** + * List domains for an admin user. If $username is empty, it returns all + * available damains for a user. + * Otherwise, it returns only those domains for a particular user. + * @param String $username + * @return array of domain names. + */ function list_domains_for_admin ($username) { global $CONF; global $table_domain, $table_domain_admins; $list = array (); - $query = "SELECT $table_domain.domain FROM $table_domain LEFT JOIN $table_domain_admins ON $table_domain.domain=$table_domain_admins.domain WHERE $table_domain_admins.username='$username' AND $table_domain.active='1' AND $table_domain.backupmx='0' ORDER BY $table_domain_admins.domain"; - if ('pgsql'==$CONF['database_type']) - { - $query = "SELECT $table_domain.domain FROM $table_domain LEFT JOIN $table_domain_admins ON $table_domain.domain=$table_domain_admins.domain WHERE $table_domain_admins.username='$username' AND $table_domain.active=true AND $table_domain.backupmx=false ORDER BY $table_domain_admins.domain"; + $username_sql = ''; + $active_sql = db_get_boolean(True); + $backupmx_sql = db_get_boolean(False); + if($username != '') { + $query = "SELECT $table_domain.domain, $table_domain_admins.username FROM $table_domain + LEFT JOIN $table_domain_admins ON $table_domain.domain=$table_domain_admins.domain + WHERE $table_domain_admins.username='$username' + AND $table_domain.active=$active_sql + AND $table_domain.backupmx=$backupmx_sql + ORDER BY $table_domain_admins.domain"; } + else { + $query = "SELECT $table_domain.domain FROM $table_domain + LEFT JOIN $table_domain_admins ON $table_domain.domain=$table_domain_admins.domain + WHERE $table_domain.active=$active_sql + AND $table_domain.backupmx=$backupmx_sql + ORDER BY $table_domain_admins.domain"; + } + $result = db_query ($query); if ($result['rows'] > 0) { @@ -1233,7 +1291,7 @@ if (function_exists ("pg_pconnect")) { $connect_string = "host=" . $CONF['database_host'] . " dbname=" . $CONF['database_name'] . " user=" . $CONF['database_user'] . " password=" . $CONF['database_password']; - $link = @pg_pconnect ($connect_string) or die ("<p />DEBUG INFORMATION:<br />Connect: " . pg_last_error($link) . "$DEBUG_TEXT"); + $link = @pg_pconnect ($connect_string) or die ("<p />DEBUG INFORMATION:<br />Connect: failed to connect to database. $DEBUG_TEXT"); pg_set_client_encoding($link, 'UNICODE'); } else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2007-09-28 20:28:25
|
Revision: 104 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=104&view=rev Author: GingerDog Date: 2007-09-28 13:28:18 -0700 (Fri, 28 Sep 2007) Log Message: ----------- functions.inc.php: remove optional parameter for get_domains_for_admin() Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2007-09-28 19:29:10 UTC (rev 103) +++ trunk/functions.inc.php 2007-09-28 20:28:18 UTC (rev 104) @@ -663,9 +663,7 @@ /** - * List domains for an admin user. If $username is empty, it returns all - * available damains for a user. - * Otherwise, it returns only those domains for a particular user. + * List domains for an admin user. * @param String $username * @return array of domain names. */ @@ -674,25 +672,15 @@ global $CONF; global $table_domain, $table_domain_admins; $list = array (); - - $username_sql = ''; + // does $username need escaping here? $active_sql = db_get_boolean(True); $backupmx_sql = db_get_boolean(False); - if($username != '') { - $query = "SELECT $table_domain.domain, $table_domain_admins.username FROM $table_domain - LEFT JOIN $table_domain_admins ON $table_domain.domain=$table_domain_admins.domain - WHERE $table_domain_admins.username='$username' - AND $table_domain.active=$active_sql - AND $table_domain.backupmx=$backupmx_sql - ORDER BY $table_domain_admins.domain"; - } - else { - $query = "SELECT $table_domain.domain FROM $table_domain - LEFT JOIN $table_domain_admins ON $table_domain.domain=$table_domain_admins.domain - WHERE $table_domain.active=$active_sql - AND $table_domain.backupmx=$backupmx_sql - ORDER BY $table_domain_admins.domain"; - } + $query = "SELECT $table_domain.domain, $table_domain_admins.username FROM $table_domain + LEFT JOIN $table_domain_admins ON $table_domain.domain=$table_domain_admins.domain + WHERE $table_domain_admins.username='$username' + AND $table_domain.active=$active_sql + AND $table_domain.backupmx=$backupmx_sql + ORDER BY $table_domain_admins.domain"; $result = db_query ($query); if ($result['rows'] > 0) @@ -1474,7 +1462,7 @@ 'edit_mailbox_state' 'edit_password' -*/ + */ function db_log ($username,$domain,$action,$data) { global $CONF; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2007-10-02 12:10:19
|
Revision: 112 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=112&view=rev Author: GingerDog Date: 2007-10-02 05:06:10 -0700 (Tue, 02 Oct 2007) Log Message: ----------- functions.inc.php: mysqli is a valid database_type as well! Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2007-10-02 11:58:46 UTC (rev 111) +++ trunk/functions.inc.php 2007-10-02 12:06:10 UTC (rev 112) @@ -1330,7 +1330,7 @@ } return 'false'; } - elseif($CONF['database_type'] == 'mysql') { + elseif($CONF['database_type'] == 'mysql' || $CONF['database_type'] == 'mysqli') { if($bool) { return 1; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2007-10-02 12:48:27
|
Revision: 114 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=114&view=rev Author: GingerDog Date: 2007-10-02 05:48:21 -0700 (Tue, 02 Oct 2007) Log Message: ----------- functions.inc.php: reduce global usage Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2007-10-02 12:22:38 UTC (rev 113) +++ trunk/functions.inc.php 2007-10-02 12:48:21 UTC (rev 114) @@ -1064,12 +1064,10 @@ // Action: Creates MD5 encrypted password // Call: md5crypt (string cleartextpassword) // -$MAGIC = "$1$"; -$ITOA64 = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; function md5crypt ($pw, $salt="", $magic="") { - global $MAGIC; + $MAGIC = "$1$"; if ($magic == "") $magic = $MAGIC; if ($salt == "") $salt = create_salt (); @@ -1155,7 +1153,7 @@ function to64 ($v, $n) { - global $ITOA64; + $ITOA64 = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; $ret = ""; while (($n - 1) >= 0) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2007-10-07 19:16:44
|
Revision: 138 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=138&view=rev Author: christian_boltz Date: 2007-10-07 12:16:48 -0700 (Sun, 07 Oct 2007) Log Message: ----------- - escape_string(): preserve array keys when escaping arrays Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2007-10-07 17:49:50 UTC (rev 137) +++ trunk/functions.inc.php 2007-10-07 19:16:48 UTC (rev 138) @@ -287,8 +287,8 @@ // Note, the array keys are not cleaned. if(is_array($string)) { $clean = array(); - foreach($string as $row) { - $clean[] = escape_string($row); + foreach(array_keys($string) as $row) { + $clean[$row] = escape_string($string[$row]); } return $clean; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2007-10-22 23:49:11
|
Revision: 159 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=159&view=rev Author: christian_boltz Date: 2007-10-22 16:49:10 -0700 (Mon, 22 Oct 2007) Log Message: ----------- - new functions safeget, safepost, safeserver Action: get value from $_GET/$_POST/$_SERVER[$param], otherwise $default Call: $param = safeget('param') # instead of $param = $_GET['param'] - or - $param = safeget('param', 'default') useful to avoid "undefined index" warnings ;-) Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2007-10-19 21:07:56 UTC (rev 158) +++ trunk/functions.inc.php 2007-10-22 23:49:10 UTC (rev 159) @@ -328,7 +328,34 @@ } +// safeget +// Action: get value from $_GET[$param], or $default if $_GET[$param] is not set +// Call: $param = safeget('param') # replaces $param = $_GET['param'] +// - or - +// $param = safeget('param', 'default') +function safeget ($param, $default="") { + $retval=$default; + if (isset($_GET["$param"])) $retval=$_GET["$param"]; + return $retval; +} +// safepost +// same as safeget, but for $_POST +function safepost ($param, $default="") { + $retval=$default; + if (isset($_POST["$param"])) $retval=$_POST["$param"]; + return $retval; +} + +// safeserver +// same as safeget, but for $_SERVER +function safeserver ($param, $default="") { + $retval=$default; + if (isset($_SERVER["$param"])) $retval=$_SERVER["$param"]; + return $retval; +} + + // // get_domain_properties // Action: Get all the properties of a domain. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2007-10-25 12:30:03
|
Revision: 162 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=162&view=rev Author: GingerDog Date: 2007-10-25 05:29:38 -0700 (Thu, 25 Oct 2007) Log Message: ----------- functions.inc.php: code cleanups / documentation fixes etc Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2007-10-23 00:18:52 UTC (rev 161) +++ trunk/functions.inc.php 2007-10-25 12:29:38 UTC (rev 162) @@ -205,13 +205,13 @@ } - -// -// check_email -// Action: Checks if email is valid and returns TRUE if this is the case. -// Call: check_email (string email) -// -// TODO: make check_email able to handle already added domains +/** + * check_email + * Checks if an email is valid - if it is, return true, else false. + * @param String $email - a string that may be an email address. + * @return boolean true if it's an email address, else false. + * TODO: make check_email able to handle already added domains + */ function check_email ($email) { global $CONF; @@ -219,10 +219,12 @@ $ce_email=$email; //strip the vacation domain out if we are using it + //and change from blah#fo...@au... to bl...@fo... if ($CONF['vacation'] == 'YES') { $vacation_domain = $CONF['vacation_domain']; $ce_email = preg_replace("/@$vacation_domain/", '', $ce_email); + $ce_email = preg_replace("/#/", '@', $ce_email); } if ( @@ -328,30 +330,47 @@ } -// safeget -// Action: get value from $_GET[$param], or $default if $_GET[$param] is not set -// Call: $param = safeget('param') # replaces $param = $_GET['param'] -// - or - -// $param = safeget('param', 'default') +/** + * safeget + * Action: get value from $_GET[$param], or $default if $_GET[$param] is not set + * Call: $param = safeget('param') # replaces $param = $_GET['param'] + * - or - + * $param = safeget('param', 'default') + * + * @param String parameter name. + * @param String (optional) - default value if key is not set. + * @return String + */ function safeget ($param, $default="") { $retval=$default; - if (isset($_GET["$param"])) $retval=$_GET["$param"]; + if (isset($_GET[$param])) $retval=$_GET[$param]; return $retval; } -// safepost -// same as safeget, but for $_POST +/** + * safepost - similar to safeget() + * @see safeget() + * @param String parameter name + * @param String (optional) default value (defaults to "") + * @return String - value in $_POST[$param] or $default + * same as safeget, but for $_POST + */ function safepost ($param, $default="") { $retval=$default; - if (isset($_POST["$param"])) $retval=$_POST["$param"]; + if (isset($_POST[$param])) $retval=$_POST[$param]; return $retval; } -// safeserver -// same as safeget, but for $_SERVER +/** + * safeserver + * @see safeget() + * @param String $param + * @param String $default (optional) + * @return String value from $_SERVER[$param] or $default + */ function safeserver ($param, $default="") { $retval=$default; - if (isset($_SERVER["$param"])) $retval=$_SERVER["$param"]; + if (isset($_SERVER[$param])) $retval=$_SERVER[$param]; return $retval; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2007-11-01 23:58:13
|
Revision: 171 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=171&view=rev Author: christian_boltz Date: 2007-11-01 16:58:12 -0700 (Thu, 01 Nov 2007) Log Message: ----------- - added function db_insert() - added optional $ignore_errors parameter to db_query() - db_query() now returns 'error' as additional key in the result array - renamed $setup to $ignore_errors in db_connect() - added fallback to $table_key to table_by_key() Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2007-10-31 20:18:53 UTC (rev 170) +++ trunk/functions.inc.php 2007-11-01 23:58:12 UTC (rev 171) @@ -1284,20 +1284,20 @@ * db_connect * Action: Makes a connection to the database if it doesn't exist * Call: db_connect () - * Optional parameter: $setup = TRUE, used by setup.php + * Optional parameter: $ignore_errors = TRUE, used by setup.php * * Return value: - * a) without $setup or $setup == 0 + * a) without $ignore_errors or $ignore_errors == 0 * - $link - the database connection -OR- * - call die() in case of connection problems - * b) with $setup == TRUE + * b) with $ignore_errors == TRUE * array($link, $error_text); */ -function db_connect ($setup = 0) +function db_connect ($ignore_errors = 0) { global $CONF; global $DEBUG_TEXT; - if ($setup != 0) $DEBUG_TEXT = ''; + if ($ignore_errors != 0) $DEBUG_TEXT = ''; $error_text = ''; $link = 0; @@ -1351,7 +1351,7 @@ $error_text = "<p />DEBUG INFORMATION:<br />Invalid \$CONF['database_type']! Please fix your config.inc.php! $DEBUG_TEXT"; } - if ($setup) + if ($ignore_errors) { return array($link, $error_text); } @@ -1406,43 +1406,53 @@ // db_query // Action: Sends a query to the database and returns query result and number of rows // Call: db_query (string query) +// Optional parameter: $ignore_errors = TRUE, used by upgrade.php // -function db_query ($query) +function db_query ($query, $ignore_errors = 0) { global $CONF; global $DEBUG_TEXT; $result = ""; $number_rows = ""; static $link; + $error_text = ""; + if ($ignore_errors) $DEBUG_TEXT = ""; if (!is_resource($link)) $link = db_connect (); - if ($CONF['database_type'] == "mysql") $result = @mysql_query ($query, $link) or die ("<p />DEBUG INFORMATION:<br />Invalid query: " . mysql_error($link) . "$DEBUG_TEXT"); - if ($CONF['database_type'] == "mysqli") $result = @mysqli_query ($link, $query) or die ("<p />DEBUG INFORMATION:<br />Invalid query: " . mysqli_error($link) . "$DEBUG_TEXT"); + if ($CONF['database_type'] == "mysql") $result = @mysql_query ($query, $link) + or $error_text = "<p />DEBUG INFORMATION:<br />Invalid query: " . mysql_error($link) . "$DEBUG_TEXT"; + if ($CONF['database_type'] == "mysqli") $result = @mysqli_query ($link, $query) + or $error_text = "<p />DEBUG INFORMATION:<br />Invalid query: " . mysqli_error($link) . "$DEBUG_TEXT"; if ($CONF['database_type'] == "pgsql") { - $result = @pg_query ($link, $query) or die ("<p />DEBUG INFORMATION:<br />Invalid query: " . pg_last_error() . "$DEBUG_TEXT"); + $result = @pg_query ($link, $query) + or $error_text = "<p />DEBUG INFORMATION:<br />Invalid query: " . pg_last_error() . "$DEBUG_TEXT"; } + if ($error_text != "" && $ignore_errors == 0) die($error_text); - if (eregi ("^SELECT", $query)) - { - // if $query was a SELECT statement check the number of rows with [database_type]_num_rows (). - if ($CONF['database_type'] == "mysql") $number_rows = mysql_num_rows ($result); - if ($CONF['database_type'] == "mysqli") $number_rows = mysqli_num_rows ($result); - if ($CONF['database_type'] == "pgsql") $number_rows = pg_num_rows ($result); + if ($error_text == "") { + if (eregi ("^SELECT", $query)) + { + // if $query was a SELECT statement check the number of rows with [database_type]_num_rows (). + if ($CONF['database_type'] == "mysql") $number_rows = mysql_num_rows ($result); + if ($CONF['database_type'] == "mysqli") $number_rows = mysqli_num_rows ($result); + if ($CONF['database_type'] == "pgsql") $number_rows = pg_num_rows ($result); + } + else + { + // if $query was something else, UPDATE, DELETE or INSERT check the number of rows with + // [database_type]_affected_rows (). + if ($CONF['database_type'] == "mysql") $number_rows = mysql_affected_rows ($link); + if ($CONF['database_type'] == "mysqli") $number_rows = mysqli_affected_rows ($link); + if ($CONF['database_type'] == "pgsql") $number_rows = pg_affected_rows ($result); + } } - else - { - // if $query was something else, UPDATE, DELETE or INSERT check the number of rows with - // [database_type]_affected_rows (). - if ($CONF['database_type'] == "mysql") $number_rows = mysql_affected_rows ($link); - if ($CONF['database_type'] == "mysqli") $number_rows = mysqli_affected_rows ($link); - if ($CONF['database_type'] == "pgsql") $number_rows = pg_affected_rows ($result); - } $return = array ( "result" => $result, - "rows" => $number_rows + "rows" => $number_rows, + "error" => $error_text ); return $return; } @@ -1516,7 +1526,29 @@ } +// +// db_insert +// Action: Inserts a row from a specified table +// Call: db_insert (string table, array values) +// +function db_insert ($table, $values) +{ + $sql_values = "(" . implode(",",escape_string(array_keys($values))).") VALUES ('".implode("','",escape_string($values))."')"; + $table = table_by_key ($table); + $result = db_query ("INSERT INTO $table $sql_values"); + if ($result['rows'] >= 1) + { + return $result['rows']; + } + else + { + return true; + } +} + + + // // db_log // Action: Logs actions from admin @@ -1571,6 +1603,7 @@ { global $CONF; $table = $CONF['database_prefix'].$CONF['database_tables'][$table_key]; + if (empty($table)) $table = $table_key; return $table; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2007-11-03 19:03:41
|
Revision: 179 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=179&view=rev Author: GingerDog Date: 2007-11-03 12:03:43 -0700 (Sat, 03 Nov 2007) Log Message: ----------- functions.inc.php: change doc block formatting Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2007-11-03 18:46:32 UTC (rev 178) +++ trunk/functions.inc.php 2007-11-03 19:03:43 UTC (rev 179) @@ -1526,11 +1526,13 @@ } -// -// db_insert -// Action: Inserts a row from a specified table -// Call: db_insert (string table, array values) -// +/** + * db_insert + * Action: Inserts a row from a specified table + * Call: db_insert (string table, array values) + * @param String $table - table name + * @param array - key/value map of data to insert into the table. + */ function db_insert ($table, $values) { $sql_values = "(" . implode(",",escape_string(array_keys($values))).") VALUES ('".implode("','",escape_string($values))."')"; @@ -1549,22 +1551,19 @@ -// -// db_log -// Action: Logs actions from admin -// Call: db_log (string username, string domain, string action, string data) -/* - -Possible actions are: -'create_alias' -'delete_alias' -'delete_mailbox' -'edit_alias' -'edit_alias_state' -'edit_mailbox' -'edit_mailbox_state' -'edit_password' - +/** + * db_log + * Action: Logs actions from admin + * Call: db_log (string username, string domain, string action, string data) + * Possible actions are: + * 'create_alias' + * 'delete_alias' + * 'delete_mailbox' + * 'edit_alias' + * 'edit_alias_state' + * 'edit_mailbox' + * 'edit_mailbox_state' + * 'edit_password' */ function db_log ($username,$domain,$action,$data) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2007-11-04 00:50:05
|
Revision: 184 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=184&view=rev Author: christian_boltz Date: 2007-11-03 17:50:09 -0700 (Sat, 03 Nov 2007) Log Message: ----------- functions.php: - new function db_update ($table, $where, $values, $timestamp = array()) to update a database entry with the values given as array - added optional $timestamp parameter to db_insert() Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2007-11-03 23:32:36 UTC (rev 183) +++ trunk/functions.inc.php 2007-11-04 00:50:09 UTC (rev 184) @@ -675,7 +675,7 @@ // // check_owner -// Action: Checks if the admin is the owner of the domain. +// Action: Checks if the admin is the owner of the domain (or global-admin) // Call: check_owner (string admin, string domain) // function check_owner ($username, $domain) @@ -1532,21 +1532,54 @@ * Call: db_insert (string table, array values) * @param String $table - table name * @param array - key/value map of data to insert into the table. + * @param array (optional) - array of fields to set to now() + * @return int - number of inserted rows */ -function db_insert ($table, $values) +function db_insert ($table, $values, $timestamp = array()) { - $sql_values = "(" . implode(",",escape_string(array_keys($values))).") VALUES ('".implode("','",escape_string($values))."')"; + foreach(array_keys($values) as $key) { + $values[$key] = "'" . escape_string($values[$key]) . "'"; + } + + foreach($timestamp as $key) { + $values[$key] = "now()"; + } + + $sql_values = "(" . implode(",",escape_string(array_keys($values))).") VALUES (".implode(",",$values).")"; + $table = table_by_key ($table); +echo "*** $sql_values ***"; exit; + $result = db_query ("INSERT INTO $table $sql_values"); + return $result['rows']; +} - $result = db_query ("INSERT INTO $table $sql_values"); - if ($result['rows'] >= 1) - { - return $result['rows']; + +/** + * db_update + * Action: Updates a specified table + * Call: db_update (string table, array values, string where) + * @param String $table - table name + * @param String - WHERE condition + * @param array - key/value map of data to insert into the table. + * @param array (optional) - array of fields to set to now() + * @return int - number of updated rows + */ +function db_update ($table, $where, $values, $timestamp = array()) +{ + $table = table_by_key ($table); + + foreach(array_keys($values) as $key) { + $sql_values[$key] = escape_string($key) . "='" . escape_string($values[$key]) . "'"; } - else - { - return true; + + foreach($timestamp as $key) { + $sql_values[$key] = escape_string($key) . "=now()"; } + + $sql="UPDATE $table SET ".implode(",",$sql_values)." WHERE $where"; + + $result = db_query ($sql); + return $result['rows']; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2007-11-04 00:54:05
|
Revision: 186 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=186&view=rev Author: christian_boltz Date: 2007-11-03 17:54:09 -0700 (Sat, 03 Nov 2007) Log Message: ----------- OOps. Removed forgotten debugging code again. Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2007-11-04 00:53:13 UTC (rev 185) +++ trunk/functions.inc.php 2007-11-04 00:54:09 UTC (rev 186) @@ -1537,6 +1537,8 @@ */ function db_insert ($table, $values, $timestamp = array()) { + $table = table_by_key ($table); + foreach(array_keys($values) as $key) { $values[$key] = "'" . escape_string($values[$key]) . "'"; } @@ -1547,8 +1549,6 @@ $sql_values = "(" . implode(",",escape_string(array_keys($values))).") VALUES (".implode(",",$values).")"; - $table = table_by_key ($table); -echo "*** $sql_values ***"; exit; $result = db_query ("INSERT INTO $table $sql_values"); return $result['rows']; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2007-11-12 01:25:57
|
Revision: 214 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=214&view=rev Author: christian_boltz Date: 2007-11-11 17:26:01 -0800 (Sun, 11 Nov 2007) Log Message: ----------- functions.inc.php - allow longer TLDs (.museum, .travel) Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2007-11-12 00:46:52 UTC (rev 213) +++ trunk/functions.inc.php 2007-11-12 01:26:01 UTC (rev 214) @@ -194,7 +194,7 @@ // TODO: make check_domain able to handle as example .local domains function check_domain ($domain) { - if (preg_match ('/([-0-9A-Z]+\.)+' . '([0-9A-Z]){2,4}$/i', trim ($domain))) + if (preg_match ('/([-0-9A-Z]+\.)+' . '([0-9A-Z]){2,6}$/i', trim ($domain))) { return true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2007-12-30 20:16:07
|
Revision: 283 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=283&view=rev Author: christian_boltz Date: 2007-12-30 12:16:07 -0800 (Sun, 30 Dec 2007) Log Message: ----------- functions.inc.php - fixed wrong comment about check_language parameter Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2007-12-30 19:14:35 UTC (rev 282) +++ trunk/functions.inc.php 2007-12-30 20:16:07 UTC (rev 283) @@ -142,7 +142,7 @@ // check_language // Action: checks what language the browser uses // Call: check_language -// Parameter: $use_post - set to 1 if $_POST should NOT be read +// Parameter: $use_post - set to 0 if $_POST should NOT be read // function check_language ($use_post = 1) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2008-03-02 22:17:35
|
Revision: 307 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=307&view=rev Author: christian_boltz Date: 2008-03-02 14:17:39 -0800 (Sun, 02 Mar 2008) Log Message: ----------- functions.inc.php: - check_language(): use global $supported_languages so that we don't have to maintain the list of supported languages at different places (this finally enables users to choose japanese language at login) Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2008-02-28 12:04:51 UTC (rev 306) +++ trunk/functions.inc.php 2008-03-02 22:17:39 UTC (rev 307) @@ -147,9 +147,9 @@ function check_language ($use_post = 1) { global $CONF; + global $supported_languages; # from languages/languages.php + $lang = $CONF['default_language']; - $supported_languages = array ('bg', 'ca', 'cn', 'cs', 'da', 'de', 'en', 'es', 'et', 'eu', 'fi', 'fo', 'fr', 'hu', 'is', 'it', 'mk', 'nl', 'nn', 'pl', 'pt-br', 'ru', 'sl', 'sv', 'tr', 'tw'); - # TODO: use global $supported_languages (from languages/languages.php) instead if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { @@ -165,7 +165,7 @@ { $lang_next = $lang_array[$i]; $lang_next = strtolower(trim($lang_next)); - if(in_array($lang_next, $supported_languages)) + if(array_key_exists($lang_next, $supported_languages)) { $lang = $lang_next; break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <agr...@us...> - 2008-03-04 22:02:32
|
Revision: 308 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=308&view=rev Author: agregc32 Date: 2008-03-04 14:02:20 -0800 (Tue, 04 Mar 2008) Log Message: ----------- fixed an error that would not identify POP/IMAP accounts when a mailbox forwards to other destinations as well. Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2008-03-02 22:17:39 UTC (rev 307) +++ trunk/functions.inc.php 2008-03-04 22:02:20 UTC (rev 308) @@ -1985,7 +1985,7 @@ { //if the address passed in appears in its own goto field, its POP/IMAP if (preg_match ('/^' . $show_alias . '$/', $stat_goto) || - preg_match ('/.*,' . $show_alias . ',.*$/', $stat_goto) || + preg_match ('/' . $show_alias . ',/', $stat_goto) || preg_match ('/,' . $show_alias . '$/', $stat_goto) ) { $stat_string .= "<span style='background-color:" . $CONF['show_popimap_color'] . This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <agr...@us...> - 2008-03-07 18:38:23
|
Revision: 310 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=310&view=rev Author: agregc32 Date: 2008-03-07 10:38:22 -0800 (Fri, 07 Mar 2008) Log Message: ----------- simplification and (hopefully) bug free fix for POP/IMAP box marking Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2008-03-05 00:09:46 UTC (rev 309) +++ trunk/functions.inc.php 2008-03-07 18:38:22 UTC (rev 310) @@ -1984,9 +1984,7 @@ if ( $CONF['show_popimap'] == 'YES' ) { //if the address passed in appears in its own goto field, its POP/IMAP - if (preg_match ('/^' . $show_alias . '$/', $stat_goto) || - preg_match ('/' . $show_alias . ',/', $stat_goto) || - preg_match ('/,' . $show_alias . '$/', $stat_goto) ) + if ( preg_match ('/,' . $show_alias . ',/', ',' . $stat_goto . ',') ) { $stat_string .= "<span style='background-color:" . $CONF['show_popimap_color'] . "'>" . $CONF['show_status_text'] . "</span> "; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2008-03-08 21:23:20
|
Revision: 311 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=311&view=rev Author: GingerDog Date: 2008-03-08 13:23:24 -0800 (Sat, 08 Mar 2008) Log Message: ----------- functions.inc.php: fix urls Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2008-03-07 18:38:22 UTC (rev 310) +++ trunk/functions.inc.php 2008-03-08 21:23:24 UTC (rev 311) @@ -1321,8 +1321,8 @@ <p />\n Please check the documentation and website for more information.\n <p />\n - <a href=\"http://high5.net/postfixadmin/\">Postfix Admin</a><br />\n - <a href=\"http://forums.high5.net/index.php?showforum=7\">Knowledge Base</a>\n + <a href=\"http://postfixadmin.sf.net/\">Postfix Admin</a><br />\n + <a href='https://sourceforge.net/forum/forum.php?forum_id=676076'>Forums</a> "; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2008-04-26 22:02:46
|
Revision: 353 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=353&view=rev Author: GingerDog Date: 2008-04-26 15:02:49 -0700 (Sat, 26 Apr 2008) Log Message: ----------- functions.inc.php: checkdnsrr may not exist; try and be graceful Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2008-04-26 21:56:02 UTC (rev 352) +++ trunk/functions.inc.php 2008-04-26 22:02:49 UTC (rev 353) @@ -282,15 +282,15 @@ // Look for an AAAA, A, or MX record for the domain - // AAAA (IPv6) is only available in PHP v. >= 5 - if (version_compare(phpversion(), "5.0.0", ">=")) - { - if (checkdnsrr($domain,'AAAA')) return true; + if(function_exists('checkdnsrr')) { + // AAAA (IPv6) is only available in PHP v. >= 5 + if (version_compare(phpversion(), "5.0.0", ">=")) + { + if (checkdnsrr($domain,'AAAA')) return true; + } + if (checkdnsrr($domain,'A')) return true; + if (checkdnsrr($domain,'MX')) return true; } - - if (checkdnsrr($domain,'A')) return true; - if (checkdnsrr($domain,'MX')) return true; - # TODO: different error message for non-existing domains (instead of "email is invalid") return false; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2008-04-29 14:39:44
|
Revision: 355 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=355&view=rev Author: GingerDog Date: 2008-04-29 07:39:39 -0700 (Tue, 29 Apr 2008) Log Message: ----------- functions.inc.php: 2.2.0.... Modified Paths: -------------- trunk/functions.inc.php Modified: trunk/functions.inc.php =================================================================== --- trunk/functions.inc.php 2008-04-29 14:38:07 UTC (rev 354) +++ trunk/functions.inc.php 2008-04-29 14:39:39 UTC (rev 355) @@ -22,7 +22,7 @@ exit; } -$version = '2.2 SVN'; +$version = '2.2.0'; /** * check_session This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |