function nexdocsrv_generateFileListing in filedepot 6
Same name and namespace in other branches
- 7 lib-ajaxserver.php \nexdocsrv_generateFileListing()
2 calls to nexdocsrv_generateFileListing()
- filedepot_dispatcher in ./
ajaxserver.php - @file ajaxserver.php Implementation of filedepot_ajax() - main ajax handler for the module
- filedepot_displayFolderListing in ./
lib-ajaxserver.php
File
- ./
lib-ajaxserver.php, line 269 - lib-ajaxserver.php Library functions for the ajax_server
Code
function nexdocsrv_generateFileListing($cid, $level = 1, $folderprefix = '') {
$filedepot = filedepot_filedepot();
$filedepot->selectedTopLevelFolder = $cid;
$files = array();
$sql = filedepot_getFileListingSQL($cid);
$file_query = db_query($sql);
$output = '';
$break = FALSE;
if (empty($folderprefix)) {
$q1 = db_query("SELECT cid,pid,folderorder FROM {filedepot_categories} WHERE cid=%d", $cid);
$rec = db_fetch_object($q1);
if ($rec->pid != 0) {
$folderprefix = $rec->folderorder / 10;
while ($rec->pid != 0) {
$q2 = db_query("SELECT cid,pid,folderorder FROM {filedepot_categories} WHERE cid=%d", $rec->pid);
$rec2 = db_fetch_object($q2);
if ($rec2->pid == 0) {
break;
}
$folderprefix = $rec2->folderorder / 10 . '.' . $folderprefix;
}
}
}
$i = 0;
while ($A = db_fetch_array($file_query)) {
if ($filedepot->activeview == 'approvals') {
$A['fid'] = $A['id'];
}
if (!in_array($fid, $files)) {
$i++;
$more_records_message = '';
if ($filedepot->ajaxBackgroundMode == TRUE and $i >= $filedepot->recordCountPass1) {
$break = TRUE;
$filedepot->lastRenderedFiles[] = array(
$cid,
$A['fid'],
$folderprefix,
$level,
);
$more_records_message = 'moredata_msg';
}
elseif ($filedepot->activeview == 'getmoredata' and $i >= $filedepot->recordCountPass2) {
$break = TRUE;
// Check if there are more records - the SQL LIMIT statement allowed for one more record
// If there are more - show the AJAX link to load more data - pass 2
if (db_fetch_array($file_query)) {
$more_records_message = 'loadfolder_msg';
}
}
if ($break) {
$output .= theme('filedepot_filelisting', $A, $folderprefix, $level, $more_records_message);
break;
}
else {
$output .= theme('filedepot_filelisting', $A, $folderprefix, $level);
$files[] = $A['fid'];
}
}
}
return $output;
}