Here is a detailed list of what has been changed in the php files
from 4images 1.7.10 -> 1.7.11.
(The best way for yourself to compare the code of files is to use
Winmerge.)
details.phpsearch for
$meta_keywords = !empty($image_row['image_keywords']) ? implode(", ", explode(",", $image_row['image_keywords'])) : "";replace with
$meta_keywords = !empty($image_row['image_keywords']) ? strip_tags(implode(", ", explode(",", $image_row['image_keywords']))) : "";rss.phpsearch for
function format_rss_html($text) {
$text = format_text(trim($text), 1, 0, 1);
return $text;
}replace with
function format_rss_html($text) {
$text = format_text(trim($text), 2, 0, 1);
return $text;
}admin/categories.phpsearch for
$cat_parent_id = (isset($HTTP_GET_VARS['cat_parent_id'])) ? $HTTP_GET_VARS['cat_parent_id'] : 0;replace with
$cat_parent_id = (isset($HTTP_GET_VARS['cat_parent_id'])) ? intval($HTTP_GET_VARS['cat_parent_id']) : 0;admin/index.phpsearch for
if ($redirect != "") {
show_admin_header("<meta http-equiv=\"Refresh\" content=\"0; URL=".$site_sess->url($redirect)."\">");
echo "<p><a href=\"".$site_sess->url($redirect)."\">".$lang['admin_login_redirect']."</a></p>";
show_admin_footer();
exit;
}replace with
if ($redirect != "") {
if (strpos($redirect, '://') === false) {
show_admin_header("<meta http-equiv=\"Refresh\" content=\"0; URL=".$site_sess->url($redirect)."\">");
echo "<p><a href=\"".$site_sess->url($redirect)."\">".$lang['admin_login_redirect']."</a></p>";
show_admin_footer();
} else {
redirect('home.php');
}
exit;
}search for
if ($action == "frames") {
if ($goto != "") {
$framesrc = $site_sess->url($goto);
}
else {
$framesrc = $site_sess->url("home.php");
}replace with
if ($action == "frames") {
if ($goto != "" && strpos($goto, '://') === false) {
$framesrc = $site_sess->url($goto);
}
else {
$framesrc = $site_sess->url("home.php");
}admin/users.phpsearch for
else {
$activation = 0;
}replace with
else {
if ($config['account_activation'] == 2 && $user_row['user_level'] == USER_AWAITING) {
$activation = 1;
} else {
$activation = 0;
}
}data/database/default/mysql_default.sqluse the mysql_default.sql from 1.7.11 package
includes/db_mysql.phpsearch for
function Db($db_host, $db_user, $db_password = "", $db_name = "", $db_pconnect = 0) {
$connect_handle = ($db_pconnect) ? "mysql_pconnect" : "mysql_connect";
if (!$this->connection = @$connect_handle($db_host, $db_user, $db_password)) {
$this->error("Could not connect to the database server ($db_host, $db_user).", 1);
}
if ($db_name != "") {
if (!@mysql_select_db($db_name)) {
@mysql_close($this->connection);
$this->error("Could not select database ($db_name).", 1);
}
}
return $this->connection;
}replace with
function Db($db_host, $db_user, $db_password = "", $db_name = "", $db_pconnect = 0) {
$connect_handle = ($db_pconnect) ? "mysql_pconnect" : "mysql_connect";
if (!$this->connection = @$connect_handle($db_host, $db_user, $db_password)) {
$this->error("Could not connect to the database server ($db_host, $db_user).", 1);
}
if ($db_name != "") {
if (!@mysql_select_db($db_name)) {
@mysql_close($this->connection);
$this->error("Could not select database ($db_name).", 1);
}
}
return $this->connection;
}
function escape($value) {
return mysql_real_escape_string($value, $this->connection);
}includes/functions.phpsearch for
function check_email($email) {
return (preg_match('/^[-!#$%&\'*+\\.\/0-9=?A-Z^_`{|}~]+@([-0-9A-Z]+\.)+([0-9A-Z]){2,4}$/i', $email)) ? 1 : 0;
}
replace with
function check_email($email) {
return (preg_match('/^[-!#$%&\'*+\\.\/0-9=?A-Z^_`{|}~]+@([-0-9A-Z]+\.)+([0-9A-Z]){2,}$/i', $email)) ? 1 : 0;
}includes/search_utils.phpsearch for
$word_cache = array();
foreach ($split_words as $word) {
$word_cache[$word] = 1;
$allwords_sql .= ($allwords_sql != "") ? ", '".$word."'" : "'".$word."'";
}replace with
$word_cache = array();
foreach ($split_words as $word) {
$word_cache[$word] = 1;
$allwords_sql .= ($allwords_sql != "") ? ", '".addslashes($word)."'" : "'".addslashes($word)."'";
}search for
$sql = "INSERT INTO ".WORDMATCH_TABLE." (image_id, word_id".$match_insert_key_sql.")
SELECT DISTINCT $image_id, word_id".$match_insert_val_sql."
FROM ".WORDLIST_TABLE."
WHERE word_text = '$key'";
$site_db->query($sql);replace with
$sql = "INSERT INTO ".WORDMATCH_TABLE." (image_id, word_id".$match_insert_key_sql.")
SELECT DISTINCT $image_id, word_id".$match_insert_val_sql."
FROM ".WORDLIST_TABLE."
WHERE word_text = '" . addslashes($key) . "'";
$site_db->query($sql);includes/sessions.phpsearch for
if (secure_compare($this->read_cookie_data("userpass"), md5($this->user_info['user_password'])) && $this->user_info['user_level'] > USER_AWAITING) {
$this->set_cookie_data("userpass", $this->user_info['user_password']);
}replace with
if (secure_compare($this->read_cookie_data("userpass"), md5($this->user_info['user_password'])) && $this->user_info['user_level'] > USER_AWAITING) {
$this->set_cookie_data("userpass", md5($this->user_info['user_password']));
}If you want to get rid of the update notice in the admin area, edit the value in constants.php.
thanks to Crazymodder!