Casimir le bossu

par zeio @, vendredi 03 juillet 2015, 01:26 (il y a 3434 jours) @ Rémy

Hélas, triple hélas, ça aurait été trop simple.
Des setcookie il y en a dans tous les sens, une trentaine d'occurrences, je ne m'y retrouve pas.
Par contre dans le function.php j'ai retrouvé la fonction qui gère les messages lus.
Peut-être un début de solution ?








/**
* returns an array of read postigs
*
* @return array
*/
function get_read()
{
global $settings;
if(isset($_SESSION[$settings['session_prefix'].'usersettings']['read']))
{
return $_SESSION[$settings['session_prefix'].'usersettings']['read'];
}
elseif(isset($_COOKIE[$settings['session_prefix'].'read']))
{
$read_cookie = explode('.',$_COOKIE[$settings['session_prefix'].'read']);
foreach($read_cookie as $item)
{
if(intval($item)>0) $read[] = intval($item);
}
if(isset($read)) return $read;
else return array();
}
return array();
}

function set_read($ids)
{
global $settings, $read;
if(is_array($ids))
{
foreach($ids as $id)
{
$read[] = $id;
}
}
else
{
$read[] = $ids;
}
$read = array_reverse($read);
$read = array_unique($read);
$read = array_reverse($read);
$read_items = count($read);
if($read_items > $settings['max_read_items'])
{
$too_much_items = $read_items - $settings['max_read_items'];
for($i=0;$i<$too_much_items;$i++)
{
unset($read[$i]);
}
}
return $read;
}

function save_read($save_db=true)
{
global $settings, $read, $db_settings, $connid;
setcookie($settings['session_prefix'].'read',implode('.',$read),TIMESTAMP+(3600*24*30));
if(isset($_SESSION[$settings['session_prefix'].'user_id']))
{
$_SESSION[$settings['session_prefix'].'usersettings']['read'] = $read;
if($save_db) @mysql_query("UPDATE ".$db_settings['userdata_table']." SET entries_read = '".mysql_real_escape_string(implode(',',$read))."' WHERE user_id=".intval($_SESSION[$settings['session_prefix'].'user_id']), $connid);
}
}

Fil complet: