/**
 * 	Read a memory area shared by all users, all sessions on server
 *
 *  @param	string	$memoryid		Memory id of shared area
 * 	@return	int						<0 if KO, data if OK
 */
function dol_getshmop($memoryid)
{
    global $shmkeys, $shmoffset;
    if (empty($shmkeys[$memoryid]) || !function_exists("shmop_open")) {
        return 0;
    }
    $shmkey = dol_getshmopaddress($memoryid);
    //print 'dol_getshmop memoryid='.$memoryid." shmkey=".$shmkey."<br>\n";
    $handle = @shmop_open($shmkey, 'a', 0, 0);
    if ($handle) {
        $size = trim(shmop_read($handle, 0, 6));
        if ($size) {
            $data = unserialize(shmop_read($handle, 6, $size));
        } else {
            return -1;
        }
        shmop_close($handle);
    } else {
        return -2;
    }
    return $data;
}
Пример #2
0
	$shmoparray=dol_listshmop();

	$var=true;
	print '<table class="noborder" width="100%">';
	print '<tr class="liste_titre">';
	print '<td>'.$langs->trans("LanguageFilesCachedIntoShmopSharedMemory").'</td>';
	print '<td>'.$langs->trans("NbOfEntries").'</td>';
	print '<td align="right">'.$langs->trans("Address").'</td>';
	print '</tr>'."\n";

	foreach($shmoparray as $key => $val)
	{
		$var=!$var;
		print '<tr '.$bc[$var].'><td width="300">'.$key.'</td>';
		print '<td>'.sizeof($val).'</td>';
		print '<td align="right">'.dol_getshmopaddress($key).'</td>';
		print '</tr>'."\n";
	}

	print '</table>';
	print '<br>';
}


// Localisation
$var=true;
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td>'.$langs->trans("LocalisationDolibarrParameters").'</td><td>'.$langs->trans("Value").'</td></tr>'."\n";
$var=!$var;
print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("LanguageBrowserParameter","HTTP_ACCEPT_LANGUAGE").'</td><td>'.$_SERVER["HTTP_ACCEPT_LANGUAGE"].'</td></tr>'."\n";
$var=!$var;