Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F3311331
cache.inc
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
cache.inc
View Options
<
?
php
/*
+-----------------------------------------------------------------------+
| program/include/cache.inc |
| |
| This file is part of the RoundCube Webmail client |
| Copyright (C) 2005, RoundCube Dev, - Switzerland |
| Licensed under the GNU GPL |
| |
| PURPOSE: |
| Provide access to the application cache |
| |
+-----------------------------------------------------------------------+
| Author: Thomas Bruederli <roundcube@gmail.com> |
+-----------------------------------------------------------------------+
$Id$
*/
function
rcube_read_cache
(
$
key
)
{
global
$
DB
,
$
CACHE_KEYS
;
// query db
$
sql_result
=
$
DB
-
>
query
(
"SELECT cache_id, data
FROM "
.
get_table_name
(
'
cache
'
)
.
"
WHERE user_id=?
AND cache_key=?"
,
$
_SESSION
[
'
user_id
'
],
$
key
);
// get cached data
if
(
$
sql_arr
=
$
DB
-
>
fetch_assoc
(
$
sql_result
))
{
$
data
=
$
sql_arr
[
'
data
'
];
$
CACHE_KEYS
[
$
key
]
=
$
sql_arr
[
'
cache_id
'
];
}
else
$
data
=
FALSE
;
return
$
data
;
}
function
rcube_write_cache
(
$
key
,
$
data
,
$
session_cache
=
FALSE
)
{
global
$
DB
,
$
CACHE_KEYS
,
$
sess_id
;
// check if we already have a cache entry for this key
if
(
!
isset
(
$
CACHE_KEYS
[
$
key
]))
{
$
sql_result
=
$
DB
-
>
query
(
"SELECT cache_id
FROM "
.
get_table_name
(
'
cache
'
)
.
"
WHERE user_id=?
AND cache_key=?"
,
$
_SESSION
[
'
user_id
'
],
$
key
);
if
(
$
sql_arr
=
$
DB
-
>
fetch_assoc
(
$
sql_result
))
$
CACHE_KEYS
[
$
key
]
=
$
sql_arr
[
'
cache_id
'
];
else
$
CACHE_KEYS
[
$
key
]
=
FALSE
;
}
// update existing cache record
if
(
$
CACHE_KEYS
[
$
key
])
{
$
DB
-
>
query
(
"UPDATE "
.
get_table_name
(
'
cache
'
)
.
"
SET created=now(),
data=?
WHERE user_id=?
AND cache_key=?"
,
$
data
,
$
_SESSION
[
'
user_id
'
],
$
key
);
}
// add new cache record
else
{
$
DB
-
>
query
(
"INSERT INTO "
.
get_table_name
(
'
cache
'
)
.
"
(created, user_id, session_id, cache_key, data)
VALUES (now(), ?, ?, ?, ?)"
,
$
_SESSION
[
'
user_id
'
],
$
session_cache
?
$
sess_id
:
'
NULL
'
,
$
key
,
$
data
);
}
}
function
rcube_clear_cache
(
$
key
)
{
global
$
DB
;
$
DB
-
>
query
(
"DELETE FROM "
.
get_table_name
(
'
cache
'
)
.
"
WHERE user_id=?
AND cache_key=?"
,
$
_SESSION
[
'
user_id
'
],
$
key
);
}
?
>
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Thu, Apr 9, 1:05 PM (1 d, 22 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
513048
Default Alt Text
cache.inc (3 KB)
Attached To
Mode
R3 roundcubemail
Attached
Detach File
Event Timeline
Log In to Comment