function filedepotAjaxServer_getfilelisting in filedepot 7
Same name and namespace in other branches
- 6 lib-ajaxserver.php \filedepotAjaxServer_getfilelisting()
@file lib-ajaxserver.php Library functions for the ajax_server
1 call to filedepotAjaxServer_getfilelisting()
File
- ./
lib-ajaxserver.php, line 9 - lib-ajaxserver.php Library functions for the ajax_server
Code
function filedepotAjaxServer_getfilelisting() {
global $user;
$filedepot = filedepot_filedepot();
if (empty($filedepot->activeview)) {
$filedepot->ajaxBackgroundMode = TRUE;
}
elseif ($filedepot->cid == 0 and !in_array($filedepot->activeview, $filedepot->validReportingModes)) {
$filedepot->activeview = 'latestfiles';
$filedepot->ajaxBackgroundMode = FALSE;
}
if (db_query("SELECT COUNT(*) FROM {filedepot_categories} WHERE cid=:cid", array(
':cid' => $filedepot->cid,
))
->fetchField() == 0) {
$filedepot->cid = 0;
}
if ($filedepot->activeview == 'notifications') {
$data['cid'] = $filedepot->cid;
$data['retcode'] = 200;
$data['cid'] = $filedepot->cid;
$data['activefolder'] = theme('filedepot_activefolder');
$data['displayhtml'] = theme('filedepot_notifications');
$data['header'] = theme('filedepot_header');
$data['moreactions'] = filedepotAjaxServer_getMoreActions($filedepot->activeview);
}
elseif ($filedepot->cid > 0 and $filedepot
->checkPermission($filedepot->cid, 'view')) {
$data['retcode'] = 200;
$data['cid'] = $filedepot->cid;
$foldercount = db_query("SELECT count(cid) FROM {filedepot_categories} WHERE cid=:cid", array(
':cid' => $filedepot->cid,
))
->fetchField();
if (user_is_logged_in() and $filedepot->cid > 0 and $foldercount == 1) {
$pid = db_query("SELECT pid FROM {filedepot_categories} WHERE cid=:cid", array(
':cid' => $filedepot->cid,
))
->fetchField();
if ($pid > 0) {
$count1 = db_query("SELECT count(cid) FROM {filedepot_recentfolders} WHERE uid=:uid", array(
':uid' => $user->uid,
))
->fetchField();
if ($count1 > 4) {
// Note DELETE not allowed in db_query_range - PDO issue with Postgres support
$oldest = db_query_range("SELECT id FROM {filedepot_recentfolders} WHERE uid=:uid ORDER BY id ASC", 0, 1, array(
':uid' => $user->uid,
))
->fetchField();
db_query("DELETE FROM {filedepot_recentfolders} WHERE id=:id ", array(
':id' => $oldest,
));
}
$count2 = db_query("SELECT count(cid) FROM {filedepot_recentfolders} WHERE uid=:uid AND cid=:cid", array(
':uid' => $user->uid,
':cid' => $filedepot->cid,
))
->fetchField();
if ($count2 == 0) {
db_query("INSERT INTO {filedepot_recentfolders} (uid,cid) VALUES (:uid,:cid)", array(
':uid' => $user->uid,
':cid' => $filedepot->cid,
));
}
}
}
$data['displayhtml'] = filedepot_displayFolderListing($filedepot->cid);
if (is_array($filedepot->lastRenderedFiles) and count($filedepot->lastRenderedFiles) > 0) {
$data['lastrenderedfiles'] = json_encode($filedepot->lastRenderedFiles);
}
firelogmsg("Completed generating FileListing");
$data['activefolder'] = theme('filedepot_activefolder', array(
'token' => drupal_get_token(FILEDEPOT_TOKEN_FOLDERMGMT),
));
$data['moreactions'] = filedepotAjaxServer_getMoreActions($filedepot->activeview);
$data['header'] = theme('filedepot_header', array(
'token' => drupal_get_token(FILEDEPOT_TOKEN_LISTING),
));
}
elseif ($filedepot->cid == 0) {
$data['retcode'] = 200;
$data['cid'] = $filedepot->cid;
$data['displayhtml'] = filedepot_displayFolderListing($filedepot->cid);
$data['activefolder'] = theme('filedepot_activefolder', array(
'token' => drupal_get_token(FILEDEPOT_TOKEN_FOLDERMGMT),
));
$data['moreactions'] = filedepotAjaxServer_getMoreActions($filedepot->activeview);
$data['header'] = theme('filedepot_header', array(
'token' => drupal_get_token(FILEDEPOT_TOKEN_LISTING),
));
}
else {
$data['retcode'] = 401;
$data['error'] = 'Error: No Access to Folder';
db_query("DELETE FROM {filedepot_recentfolders} WHERE uid=:uid AND cid=:cid ", array(
':uid' => $user->uid,
':cid' => $filedepot->cid,
));
}
//firelogmsg("Completed generating Header return data");
return $data;
}