function wpdm_package_file_list($file) { global $current_user; $file['files'] = maybe_unserialize($file['files']); $fhtml = ''; $idvdl = isset($file['individual_file_download']) ? $file['individual_file_download'] : 0; $pd = isset($file['publish_date']) && $file['publish_date'] != "" ? strtotime($file['publish_date']) : 0; $xd = isset($file['expire_date']) && $file['expire_date'] != "" ? strtotime($file['expire_date']) : 0; $cur = is_user_logged_in() ? $current_user->roles : array('guest'); if ($xd > 0 && $xd < time() || $pd > 0 && $pd > time()) { $idvdl = 0; } if (count($file['files']) > 0) { $fileinfo = isset($file['fileinfo']) ? $file['fileinfo'] : array(); $pwdlock = isset($file['password_lock']) ? $file['password_lock'] : 0; //Check if any other lock option apllied for this package $olock = wpdm_is_locked($file['ID']) ? 1 : 0; $swl = 0; if (!isset($file['quota']) || $file['quota'] <= 0) { $file['quota'] = 9999999999999; } if (is_user_logged_in()) { $cur[] = 'guest'; } if (!isset($file['access']) || count($file['access']) == 0 || !array_intersect($file['access'], $cur) || wpdm_is_download_limit_exceed($file['ID']) || $file['quota'] <= $file['download_count']) { $olock = 1; } $pwdcol = $dlcol = ''; if ($pwdlock && $idvdl) { $pwdcol = "<th>" . __("Password", "wpdmpro") . "</th>"; } if ($idvdl && ($pwdlock || !$olock)) { $dlcol = "<th align=center>" . __("Download", "wpdmpro") . "</th>"; $swl = 1; } $allfiles = is_array($file['files']) ? $file['files'] : array(); $dir = isset($file['package_dir']) ? $file['package_dir'] : ''; $dfiles = array(); if ($dir != '') { $dfiles = wpdm_get_files($dir); } //$allfiles = array_merge($allfiles, $dfiles); $fhtml = "<table class='wpdm-filelist table table-hover'><tr><th>" . __("File", "wpdmpro") . "</th>{$pwdcol}{$dlcol}</tr>"; if (is_array($allfiles)) { foreach ($allfiles as $ind => $sfile) { if (!@is_array($fileinfo[$sfile])) { $fileinfo[$sfile] = array(); } if (!isset($fileinfo[$sfile]['password'])) { $fileinfo[$sfile]['password'] = ""; } if ($swl) { if ($fileinfo[$sfile]['password'] == '' && $pwdlock) { $fileinfo[$sfile]['password'] = $file['password']; } $ttl = isset($fileinfo[$sfile]['title']) && $fileinfo[$sfile]['title'] != "" ? $fileinfo[$sfile]['title'] : preg_replace("/([0-9]+)_/", "", basename($sfile)); $fhtml .= "<tr><td>{$ttl}</td>"; $fileinfo[$sfile]['password'] = $fileinfo[$sfile]['password'] == '' ? $file['password'] : $fileinfo[$sfile]['password']; if ($fileinfo[$sfile]['password'] != '' && $pwdlock) { $fhtml .= "<td width='110' align=right><input onkeypress='jQuery(this).removeClass(\"input-error\");' size=10 type='password' value='' id='pass_{$file['ID']}_{$ind}' placeholder='Password' name='pass' class='form-control input-sm inddlps' /></td>"; } if ($fileinfo[$sfile]['password'] != '' && $pwdlock) { $fhtml .= "<td width=150><button class='inddl btn btn-primary btn-sm' file='{$sfile}' rel='" . wpdm_download_url($file) . "&ind=" . $ind . "' pass='******'ID']}_{$ind}'><i class='fa fa-download'></i> " . __("Download", "wpdmpro") . "</button></td></tr>"; } else { $fhtml .= "<td width=150 align=center><a class='btn btn-primary btn-xs' href='" . wpdm_download_url($file) . "&ind=" . $ind . "'><i style='opacity:0.5;margin-top:0px' class='fa fa-download'></i> " . __("Download", "wpdmpro") . "</a></td></tr>"; } } else { $ttl = !isset($fileinfo[$sfile]['title']) || $fileinfo[$sfile]['title'] == '' ? preg_replace("/([0-9]+)wpdm_/", "", basename($sfile)) : $fileinfo[$sfile]['title']; $fhtml .= "<tr><td>{$ttl}</td></tr>"; } } } if (is_array($dfiles)) { foreach ($dfiles as $ind => $sfile) { if (!@is_array($fileinfo[$sfile])) { $fileinfo[$sfile] = array(); } if (!isset($fileinfo[$sfile]['password'])) { $fileinfo[$sfile]['password'] = ""; } if ($idvdl == 1 && ($pwdlock || !$olock)) { if ($fileinfo[$sfile]['password'] == '' && $pwdlock) { $fileinfo[$sfile]['password'] = $file['password']; } $ttl = isset($fileinfo[$sfile]['title']) && $fileinfo[$sfile]['title'] != "" ? $fileinfo[$sfile]['title'] : str_replace('/', " <i class='fa fa-angle-right text-primary'></i> ", str_replace($dir, "", $sfile)); $fhtml .= "<tr><td>{$ttl}</td>"; $fileinfo[$sfile]['password'] = $fileinfo[$sfile]['password'] == '' ? $file['password'] : $fileinfo[$sfile]['password']; if ($fileinfo[$sfile]['password'] != '' && $pwdlock) { $fhtml .= "<td width='110' align=right><input onkeypress='jQuery(this).removeClass(\"input-error\");' size=10 type='password' value='' id='pass_{$file['ID']}_{$ind}' placeholder='Password' name='pass' class='form-control input-sm inddlps' /></td>"; } if ($fileinfo[$sfile]['password'] != '' && $pwdlock) { $fhtml .= "<td width=150><button class='inddl btn btn-primary btn-sm' file='{$sfile}' rel='" . wpdm_download_url($file) . "&ind=" . (count($allfiles) + $ind) . "' pass='******'ID']}_{$ind}'><i class='fa fa-download'></i> Download</button></td></tr>"; } else { $fhtml .= "<td width=150 align=center><a class='btn btn-primary btn-xs' href='" . wpdm_download_url($file) . "&ind=" . $ind . "'><i style='opacity:0.5;margin-top:0px' class='fa fa-download-alt'></i> Download</a></td></tr>"; } } else { $ttl = isset($fileinfo[$sfile]['title']) && $fileinfo[$sfile]['title'] != "" ? $fileinfo[$sfile]['title'] : str_replace('/', " <i class='fa fa-angle-right text-primary'></i> ", str_replace($dir, "", $sfile)); $fhtml .= "<tr><td>{$ttl}</td></tr>"; } } } $fhtml .= "</table>"; $siteurl = home_url('/'); $fhtml .= "<script type='text/javascript' language='JavaScript'> jQuery('.inddl').click(function(){ var tis = this; jQuery.post('{$siteurl}',{wpdmfileid:'{$file['ID']}',wpdmfile:jQuery(this).attr('file'),actioninddlpvr:jQuery(jQuery(this).attr('pass')).val()},function(res){ res = res.split('|'); var ret = res[1]; if(ret=='error') jQuery(jQuery(tis).attr('pass')).addClass('input-error'); if(ret=='ok') location.href=jQuery(tis).attr('rel')+'&_wpdmkey='+res[2];});}); </script> "; } return $fhtml; }
die('Error!'); } do_action("wpdm_onstart_download", $package); global $current_user, $dfiles; $speed = 1024; //in KB - default 1 MB $speed = apply_filters('wpdm_download_speed', $speed); get_currentuserinfo(); if (wpdm_is_download_limit_exceed($package['ID'])) { wp_die(__msg('DOWNLOAD_LIMIT_EXCEED')); } $files = $package['files']; $dir = isset($package['package_dir']) ? $package['package_dir'] : ''; if ($dir != '') { $dfiles = array(); $dfiles = wpdm_get_files($dir); } $log = new Stats(); $oid = isset($_GET['oid']) ? esc_attr($_GET['oid']) : ''; $indsc = 1; $indsc = isset($_GET['ind']) && get_option('__wpdm_ind_stats') == 0 ? 0 : 1; if ($indsc && !isset($_GET['nostat'])) { $log->NewStat($package['ID'], $current_user->ID, $oid); } if (count($files) == 0 && count($dfiles) == 0) { if (isset($package['sourceurl']) && $package['sourceurl'] != '') { if (!isset($package['url_protect']) || $package['url_protect'] == 0 && strpos($package['sourceurl'], '://')) { header('location: ' . $package['sourceurl']); die; } $r_filename = basename($package['sourceurl']);
function wpdm_get_files($dir, $recur = true) { $dir = rtrim($dir, "/") . "/"; if ($dir == '/' || $dir == '') { return array(); } if (!is_dir($dir)) { return array(); } $tmpfiles = file_exists($dir) ? array_diff(scandir($dir), array(".", "..")) : array(); $files = array(); foreach ($tmpfiles as $file) { if (is_dir($dir . $file) && $recur == true) { $files = array_merge($files, wpdm_get_files($dir . $file, true)); } else { $files[] = $dir . $file; } } return $files; }
function wpdm_print_file_list() { if (isset($_POST['action']) && $_POST['action'] == 'wpdmfilelistcd') { if (isset($_SESSION['wpdmfilelistcd_' . $_POST['pid']])) { $file = wpdm_get_package((int) $_POST['pid']); $fhtml = ''; $idvdl = isset($file['individual_file_download']) ? $file['individual_file_download'] : 0; $pd = isset($file['publish_date']) && $file['publish_date'] != "" ? strtotime($file['publish_date']) : 0; $xd = isset($file['expire_date']) && $file['expire_date'] != "" ? strtotime($file['expire_date']) : 0; $fileinfo = isset($file['fileinfo']) ? $file['fileinfo'] : array(); $pwdlock = isset($file['password_lock']) ? $file['password_lock'] : 0; $olock = wpdm_is_locked($file['ID']) ? 1 : 0; $swl = 0; if (!isset($file['quota']) || $file['quota'] <= 0) { $file['quota'] = 9999999999999; } if (is_user_logged_in()) { $cur[] = 'guest'; } if (!isset($file['access']) || count($file['access']) == 0 || !array_intersect($file['access'], $cur) || wpdm_is_download_limit_exceed($file['ID']) || $file['quota'] <= $file['download_count']) { $olock = 1; } $pwdcol = $dlcol = ''; if ($pwdlock && $idvdl) { $pwdcol = "<th>" . __("Password", "wpdmpro") . "</th>"; } if ($idvdl && ($pwdlock || !$olock)) { $dlcol = "<th align=center>" . __("Download", "wpdmpro") . "</th>"; $swl = 1; } $dir = get_post_meta($_POST['pid'], '__wpdm_package_dir', true); $cd = esc_attr($_POST['cd']); $dfiles = array(); if ($dir != '') { $dfiles = wpdm_get_files($dir . $cd, false); } $fhtml = "<div class='row' id='xfilelist'>"; if (is_array($dfiles)) { foreach ($dfiles as $ind => $sfile) { $ind = WPDM_Crypt::Encrypt($sfile); $fhtml .= "<div class='col-md-4 col-sm-6 col-xs-6'><div class='panel panel-default'>"; if (!isset($fileinfo[$sfile]) || !@is_array($fileinfo[$sfile])) { $fileinfo[$sfile] = array(); } if (!isset($fileinfo[$sfile]['password'])) { $fileinfo[$sfile]['password'] = ""; } if ($fileinfo[$sfile]['password'] == '' && $pwdlock) { $fileinfo[$sfile]['password'] = $file['password']; } $ttl = isset($fileinfo[$sfile]['title']) && $fileinfo[$sfile]['title'] != "" ? $fileinfo[$sfile]['title'] : preg_replace("/([0-9]+)_/", "", basename($sfile)); $cttl = is_dir($sfile) ? "<a href='#' class='wpdm-indir' data-dir='{$ttl}' data-pid='{$file['ID']}'>{$ttl}/</a>" : $ttl; $fhtml .= "<div class='panel-heading'>{$cttl}</div>"; $imgext = array('png', 'jpg', 'jpeg', 'gif'); $ext = explode(".", $sfile); $ext = end($ext); $ext = strtolower($ext); if (is_dir($sfile)) { $ext = 'folder'; } $filepath = file_exists($sfile) ? $sfile : UPLOAD_DIR . $sfile; $thumb = ""; if (in_array($ext, $imgext)) { $thumb = wpdm_dynamic_thumb($filepath, array(88, 88)); } $fticon = WPDM_BASE_URL . 'file-type-icons/' . $ext . '.png'; if (!file_exists(WPDM_BASE_DIR . 'file-type-icons/' . $ext . '.png')) { $fticon = WPDM_BASE_URL . 'file-type-icons/ini.png'; } if ($thumb) { $fhtml .= "<div class='panel-body text-center'><img class='file-thumb' src='{$thumb}' alt='{$ttl}' /></div><div class='panel-footer'>"; } else { $fhtml .= "<div class='panel-body text-center'><img class='file-ico' src='" . $fticon . "' alt='{$ttl}' /></div><div class='panel-footer'>"; } if ($swl) { $fileinfo[$sfile]['password'] = $fileinfo[$sfile]['password'] == '' ? $file['password'] : $fileinfo[$sfile]['password']; if ($fileinfo[$sfile]['password'] != '' && $pwdlock && !is_dir($sfile)) { $fhtml .= "<div class='input-group'><input onkeypress='jQuery(this).removeClass(\"input-error\");' size=10 type='password' value='' id='pass_{$file['ID']}_{$ind}' placeholder='Password' name='pass' class='form-control input-sm inddlps' />"; } if ($fileinfo[$sfile]['password'] != '' && $pwdlock && !is_dir($sfile)) { $fhtml .= "<span class='input-group-btn'><button class='inddl btn btn-default btn-sm' file='{$sfile}' rel='" . wpdm_download_url($file) . "&ind=" . $ind . "' pass='******'ID']}_{$ind}'><i class='fa fa-download'></i></button></span></div>"; } else { if (!is_dir($sfile)) { $fhtml .= "<a class='btn btn-default btn-sm btn-block' href='" . wpdm_download_url($file) . "&ind=" . $ind . "'><span class='pull-left'><i style='opacity:0.5;margin-top:0px' class='fa fa-download'></i></span> " . __("Download", "wpdmpro") . "</a>"; } else { $fhtml .= "<a class='btn btn-default btn-sm btn-block wpdm-indir' href='#' data-dir='{$ttl}' data-pid='{$file['ID']}'><span class='pull-left'><i style='opacity:0.5;margin-top:0px' class='fa fa-folder'></i></span> " . __("Browse", "wpdmpro") . "</a>"; } } } $fhtml .= "</div></div></div>"; } } $fhtml .= "</div>"; echo $fhtml; } else { die('Session Expired! Please refresh and try again.'); } die; } }
/** * @usage Callback function for [file_list_extended] tag * @param $file * @return string * @usage Generate file list with preview */ public static function Box($file) { global $current_user; $file['files'] = maybe_unserialize($file['files']); $fhtml = ''; $idvdl = \WPDM\Package::isSingleFileDownloadAllowed($file['ID']); //isset($file['individual_file_download']) ? $file['individual_file_download'] : 0; $pd = isset($file['publish_date']) && $file['publish_date'] != "" ? strtotime($file['publish_date']) : 0; $xd = isset($file['expire_date']) && $file['expire_date'] != "" ? strtotime($file['expire_date']) : 0; $cur = is_user_logged_in() ? $current_user->roles : array('guest'); $_SESSION['wpdmfilelistcd_' . $file['ID']] = 1; if ($xd > 0 && $xd < time() || $pd > 0 && $pd > time()) { $idvdl = 0; } $dir = isset($file['package_dir']) ? $file['package_dir'] : ''; $dfiles = array(); if ($dir != '') { $dfiles = wpdm_get_files($dir, false); } $file['access'] = wpdm_allowed_roles($file['ID']); if (count($file['files']) > 0 || count($dfiles) > 0) { $fileinfo = isset($file['fileinfo']) ? $file['fileinfo'] : array(); $pwdlock = isset($file['password_lock']) ? $file['password_lock'] : 0; //Check if any other lock option apllied for this package $olock = wpdm_is_locked($file['ID']) ? 1 : 0; $swl = 0; if (!isset($file['quota']) || $file['quota'] <= 0) { $file['quota'] = 9999999999999; } if (is_user_logged_in()) { $cur[] = 'guest'; } if (!isset($file['access']) || count($file['access']) == 0 || !wpdm_user_has_access($file['ID']) || wpdm_is_download_limit_exceed($file['ID']) || $file['quota'] <= $file['download_count']) { $olock = 1; } $pwdcol = $dlcol = ''; if ($pwdlock && $idvdl) { $pwdcol = "<th>" . __("Password", "wpdmpro") . "</th>"; } if ($idvdl && ($pwdlock || !$olock)) { $dlcol = "<th align=center>" . __("Download", "wpdmpro") . "</th>"; $swl = 1; } $allfiles = is_array($file['files']) ? $file['files'] : array(); //$allfiles = array_merge($allfiles, $dfiles); $fhtml = "<div class='row' id='xfilelist'>"; if (is_array($allfiles)) { foreach ($allfiles as $fileID => $sfile) { $fhtml .= "<div class='col-md-4 col-sm-6 col-xs-6'><div class='panel panel-default'>"; $ind = \WPDM_Crypt::Encrypt($sfile); if (!isset($fileinfo[$sfile]) || !@is_array($fileinfo[$sfile])) { $fileinfo[$sfile] = array(); } if (!@is_array($fileinfo[$fileID])) { $fileinfo[$fileID] = array(); } $filePass = isset($fileinfo[$sfile]['password']) ? $fileinfo[$sfile]['password'] : (isset($fileinfo[$fileID]['password']) ? $fileinfo[$fileID]['password'] : ''); $fileTitle = isset($fileinfo[$sfile]['title']) && $fileinfo[$sfile]['title'] != '' ? $fileinfo[$sfile]['title'] : (isset($fileinfo[$fileID]['title']) && $fileinfo[$fileID]['title'] != '' ? $fileinfo[$fileID]['title'] : preg_replace("/([0-9]+)_/", "", wpdm_basename($sfile))); if ($filePass == '' && $pwdlock) { $filePass = $file['password']; } $fhtml .= "<div class='panel-heading ttip' title='{$fileTitle}'>{$fileTitle}</div>"; $imgext = array('png', 'jpg', 'jpeg', 'gif'); $ext = explode(".", $sfile); $ext = end($ext); $ext = strtolower($ext); $filepath = file_exists($sfile) ? $sfile : UPLOAD_DIR . $sfile; $thumb = ""; if ($ext == '' || !file_exists(WPDM_BASE_DIR . 'assets/file-type-icons/' . $ext . '.png')) { $ext = '_blank'; } if (in_array($ext, $imgext)) { $thumb = wpdm_dynamic_thumb($filepath, array(88, 88)); } if ($thumb) { $fhtml .= "<div class='panel-body text-center'><img class='file-thumb' src='{$thumb}' alt='{$fileTitle}' /></div><div class='panel-footer footer-info'>" . wpdm_file_size($sfile) . "</div><div class='panel-footer'>"; } else { $fhtml .= "<div class='panel-body text-center'><img class='file-ico' src='" . WPDM_BASE_URL . 'assets/file-type-icons/' . $ext . '.png' . "' alt='{$fileTitle}' /></div><div class='panel-footer footer-info'>" . wpdm_file_size($sfile) . "</div><div class='panel-footer'>"; } if ($swl) { if ($filePass != '' && $pwdlock) { $fhtml .= "<div class='input-group'><input onkeypress='jQuery(this).removeClass(\"input-error\");' size=10 type='password' value='' id='pass_{$file['ID']}_{$ind}' placeholder='Password' name='pass' class='form-control input-sm inddlps' />"; } if ($filePass != '' && $pwdlock) { $fhtml .= "<span class='input-group-btn'><button class='inddl btn btn-primary btn-sm' file='{$sfile}' rel='" . wpdm_download_url($file) . "&ind=" . $ind . "' pass='******'ID']}_{$ind}'><i class='fa fa-download'></i></button></span></div>"; } else { $fhtml .= "<a class='btn btn-primary btn-sm btn-block' href='" . wpdm_download_url($file) . "&ind=" . $ind . "'><span class='pull-left'><i class='fa fa-download'></i></span> " . __("Download", "wpdmpro") . "</a>"; } } $fhtml .= "</div></div></div>"; } } if (is_array($dfiles)) { foreach ($dfiles as $ind => $sfile) { $ind = \WPDM_Crypt::Encrypt($sfile); $fhtml .= "<div class='col-md-4 col-sm-6 col-xs-6'><div class='panel panel-default'>"; if (!isset($fileinfo[$sfile]) || !@is_array($fileinfo[$sfile])) { $fileinfo[$sfile] = array(); } if (!isset($fileinfo[$sfile]['password'])) { $fileinfo[$sfile]['password'] = ""; } if ($fileinfo[$sfile]['password'] == '' && $pwdlock) { $fileinfo[$sfile]['password'] = $file['password']; } $ttl = isset($fileinfo[$sfile]['title']) && $fileinfo[$sfile]['title'] != "" ? $fileinfo[$sfile]['title'] : preg_replace("/([0-9]+)_/", "", wpdm_basename($sfile)); $cttl = is_dir($sfile) ? "<a href='#' class='wpdm-indir' data-dir='{$ttl}' data-pid='{$file['ID']}'>{$ttl}/</a>" : $ttl; $fhtml .= "<div class='panel-heading ttip' title='{$ttl}'>{$cttl}</div>"; $imgext = array('png', 'jpg', 'jpeg', 'gif'); $ext = explode(".", $sfile); $ext = end($ext); $ext = strtolower($ext); if (is_dir($sfile)) { $ext = 'folder'; } $filepath = file_exists($sfile) ? $sfile : UPLOAD_DIR . $sfile; $thumb = ""; $showt = 1; if (in_array($ext, $imgext) && apply_filters('file_list_extended_show_thumbs', $showt)) { $thumb = wpdm_dynamic_thumb($filepath, array(88, 88)); } $fticon = WPDM_BASE_URL . 'assets/file-type-icons/' . $ext . '.png'; if (!file_exists(WPDM_BASE_DIR . 'assets/file-type-icons/' . $ext . '.png')) { $fticon = WPDM_BASE_URL . 'assets/file-type-icons/ini.png'; } if ($thumb) { $fhtml .= "<div class='panel-body text-center'><img class='file-thumb' src='{$thumb}' alt='{$ttl}' /></div><div class='panel-footer footer-info'>" . wpdm_file_size($sfile) . "</div><div class='panel-footer'>"; } else { $fhtml .= "<div class='panel-body text-center'><img class='file-ico' src='" . $fticon . "' alt='{$ttl}' /></div><div class='panel-footer footer-info'>" . wpdm_file_size($sfile) . "</div><div class='panel-footer'>"; } if ($swl) { $fileinfo[$sfile]['password'] = $fileinfo[$sfile]['password'] == '' ? $file['password'] : $fileinfo[$sfile]['password']; if ($fileinfo[$sfile]['password'] != '' && $pwdlock && !is_dir($sfile)) { $fhtml .= "<div class='input-group'><input onkeypress='jQuery(this).removeClass(\"input-error\");' size=10 type='password' value='' id='pass_{$file['ID']}_{$ind}' placeholder='Password' name='pass' class='form-control input-sm inddlps' />"; } if ($fileinfo[$sfile]['password'] != '' && $pwdlock && !is_dir($sfile)) { $fhtml .= "<span class='input-group-btn'><button class='inddl btn btn-primary btn-sm' file='{$sfile}' rel='" . wpdm_download_url($file) . "&ind=" . $ind . "' pass='******'ID']}_{$ind}'><i class='fa fa-download'></i></button></span></div>"; } else { if (!is_dir($sfile)) { $fhtml .= "<a class='btn btn-primary btn-sm btn-block' href='" . wpdm_download_url($file) . "&ind=" . $ind . "'><span class='pull-left'><i class='fa fa-download'></i></span> " . __("Download", "wpdmpro") . "</a>"; } else { $fhtml .= "<a class='btn btn-primary btn-sm btn-block wpdm-indir' href='#' data-dir='{$ttl}' data-pid='{$file['ID']}'><span class='pull-left'><i class='fa fa-folder'></i></span> " . __("Browse", "wpdmpro") . "</a>"; } } } $fhtml .= "</div></div></div>"; } } $fhtml .= "</div>"; $siteurl = home_url('/'); $fhtml .= "<script type='text/javascript' language='JavaScript'> jQuery('.inddl').click(function(){ var tis = this; jQuery.post('{$siteurl}',{wpdmfileid:'{$file['ID']}',wpdmfile:jQuery(this).attr('file'),actioninddlpvr:1,filepass:jQuery(jQuery(this).attr('pass')).val()},function(res){ res = res.split('|'); var ret = res[1]; if(ret=='error') jQuery(jQuery(tis).attr('pass')).addClass('input-error'); if(ret=='ok') location.href=jQuery(tis).attr('rel')+'&_wpdmkey='+res[2];});}); </script> "; } return $fhtml; }
function wpdm_get_files($dir, $recur = true) { $dir = rtrim($dir, "/") . "/"; $tmpfiles = array_diff(scandir($dir), array(".", "..")); $files = array(); foreach ($tmpfiles as $file) { if (is_dir($dir . $file) && $recur == true) { $files = array_merge($files, wpdm_get_files($dir . $file, true)); } else { $files[] = $dir . $file; } } return $files; }
/** * @usage Add js to make the file list searchable at front-end */ function wpdm_searchable_filelist() { if (get_post_type() != 'wpdmpro' || !is_single() || get_option('__wpdm_file_list_paging', 0) != 1) { return; } global $post; $id = $post->ID; $files = maybe_unserialize(get_post_meta($id, '__wpdm_files', true)); $dir = get_post_meta($id, '__wpdm_package_dir', true); $dfiles = $dir != '' ? wpdm_get_files($dir) : array(); // You may use this filter if you want to change the min files limit $min_files = apply_filters('wpdm_searchable_filelist_min_files', 30); if (count($files) + count($dfiles) < $min_files) { return; } ?> <script> jQuery(function($){ $('#wpdm-filelist-<?php echo $id; ?> ').dataTable({ "language": { "zeroRecords": "<?php _e("No matching files found", 'wpdmpro'); ?> ", "search": "" }, "paging": false, "ordering": false, "info": false }); $('.dataTables_filter label').css('width','100%'); $('.dataTables_filter input').addClass('form-control no-radius input-lg').attr('placeholder', '<?php _e('Search File...', 'wpdmpro'); ?> '); }); </script> <?php }