Esempio n. 1
0
/**
 * Thanks to the NewBB2 Development Team and SmartFactory
 */
function xhelp_admin_mkdir($target)
{
    // http://www.php.net/manual/en/function.mkdir.php
    // saint at corenova.com
    // bart at cdasites dot com
    if (is_dir($target) || empty($target)) {
        return true;
    }
    // best case check first
    if (file_exists($target) && !is_dir($target)) {
        return false;
    }
    if (xhelp_admin_mkdir(substr($target, 0, strrpos($target, '/')))) {
        if (!file_exists($target)) {
            return mkdir($target);
        }
    }
    // crawl back up & create dir tree
    return true;
}
Esempio n. 2
0
function createdir()
{
    $path = $_GET['path'];
    $res = xhelp_admin_mkdir($path);
    $msg = $res ? _AM_XHELP_PATH_CREATED : _AM_XHELP_PATH_NOTCREATED;
    redirect_header(XHELP_ADMIN_URL . '/index.php', 2, $msg . ': ' . $path);
    exit;
}
Esempio n. 3
0
function manageFiles()
{
    global $oAdminButton, $aSortBy, $aOrderBy, $aLimitBy, $order, $limit, $start, $sort;
    $xhelpUploadDir = XHELP_UPLOAD_PATH;
    $dir_status =& xhelp_admin_getPathStatus($xhelpUploadDir, true);
    if ($dir_status == -1) {
        $can_upload = xhelp_admin_mkdir($xhelpUploadDir);
    }
    $hFile =& xhelpGetHandler('file');
    if (isset($_POST['deleteFiles'])) {
        // Delete all selected files
        $aFiles = $_POST['files'];
        $crit = new Criteria('id', "(" . implode($aFiles, ',') . ")", "IN");
        if ($hFile->deleteAll($crit)) {
            header("Location: " . XHELP_ADMIN_URL . "/file.php?op=manageFiles");
        }
        redirect_header(XHELP_ADMIN_URL . "/file.php?op=manageFiles", 3, _XHELP_MESSAGE_DELETE_FILE_ERR);
    }
    xoops_cp_header();
    echo $oAdminButton->renderButtons('manFiles');
    echo '<script type="text/javascript" src="' . XOOPS_URL . '/modules/xhelp/include/functions.js"></script>';
    echo "<form method='post' action='" . XHELP_ADMIN_URL . "/file.php?op=manageFiles'>";
    echo "<table width='100%' cellspacing='1' class='outer'>\r\n          <tr><th colspan='2'><label>" . _AM_XHELP_TEXT_TOTAL_USED_SPACE . "</label></th></tr>";
    echo "<tr><td class='head' width='20%'>" . _AM_XHELP_TEXT_ALL_ATTACH . "</td>\r\n              <td class='even'>" . xhelpDirsize($xhelpUploadDir) . "\r\n              </td>\r\n          </tr>";
    $resolvedSize = xhelpDirsize($xhelpUploadDir, true);
    echo "<tr><td class='head'>" . _AM_XHELP_TEXT_RESOLVED_ATTACH . "</td>\r\n              <td class='even'>";
    if ($resolvedSize > 0) {
        echo $resolvedSize . " <b>(" . _AM_XHELP_TEXT_DELETE_RESOLVED . "\r\n                  <a href='" . XHELP_ADMIN_URL . "/file.php?op=deleteResolved'><img src='" . XHELP_IMAGE_URL . "/button_delete.png' title='" . _AM_XHELP_TEXT_DELETE . "' name='deleteFile' /></a>)</b>";
    } else {
        echo $resolvedSize;
    }
    echo "</td>\r\n          </tr>";
    echo "</table></form>";
    $crit = new Criteria('', '');
    $crit->setOrder($order);
    $crit->setSort($sort);
    $crit->setLimit($limit);
    $crit->setStart($start);
    $files =& $hFile->getObjects($crit);
    $total = $hFile->getCount($crit);
    $nav = new XoopsPageNav($total, $limit, $start, 'start', "op=manageFiles&amp;limit={$limit}");
    echo "<form action='" . XHELP_ADMIN_URL . "/file.php?op=manageFiles' style='margin:0; padding:0;' method='post'>";
    echo "<table width='100%' cellspacing='1' class='outer'>";
    echo "<tr><td align='right'>" . _AM_XHELP_TEXT_SORT_BY . "\r\n                  <select name='sort'>";
    foreach ($aSortBy as $value => $text) {
        $sort == $value ? $selected = "selected='selected'" : ($selected = '');
        echo "<option value='{$value}' {$selected}>{$text}</option>";
    }
    echo "</select>\r\n                &nbsp;&nbsp;&nbsp;\r\n                  " . _AM_XHELP_TEXT_ORDER_BY . "\r\n                  <select name='order'>";
    foreach ($aOrderBy as $value => $text) {
        $order == $value ? $selected = "selected='selected'" : ($selected = '');
        echo "<option value='{$value}' {$selected}>{$text}</option>";
    }
    echo "</select>\r\n                  &nbsp;&nbsp;&nbsp;\r\n                  " . _AM_XHELP_TEXT_NUMBER_PER_PAGE . "\r\n                  <select name='limit'>";
    foreach ($aLimitBy as $value => $text) {
        $limit == $value ? $selected = "selected='selected'" : ($selected = '');
        echo "<option value='{$value}' {$selected}>{$text}</option>";
    }
    echo "</select>\r\n                  <input type='submit' name='file_sort' id='file_sort' value='" . _AM_XHELP_BUTTON_SUBMIT . "' />\r\n              </td>\r\n          </tr>";
    echo "</table></form>";
    echo "<form method='post' action='" . XHELP_ADMIN_URL . "/file.php?op=manageFiles'>";
    echo "<table width='100%' cellspacing='1' class='outer'>\r\n          <tr><th colspan='6'><label>" . _AM_XHELP_TEXT_MANAGE_FILES . "</label></th></tr>";
    if ($total != 0) {
        echo "<tr class='head'>\r\n                  <td>" . _AM_XHELP_TEXT_ID . "</td>\r\n                  <td>" . _AM_XHELP_TEXT_TICKETID . "</td>\r\n                  <td>" . _AM_XHELP_TEXT_FILENAME . "</td>\r\n                  <td>" . _AM_XHELP_TEXT_SIZE . "</td>\r\n                  <td>" . _AM_XHELP_TEXT_MIMETYPE . "</td>\r\n                  <td>" . _AM_XHELP_TEXT_ACTIONS . "</td>\r\n              </tr>";
        foreach ($files as $file) {
            $filepath = XHELP_BASE_URL . '/viewFile.php?id=' . $file->getVar('id');
            $ticketpath = XHELP_BASE_URL . '/ticket.php?id=' . $file->getVar('ticketid');
            $filesize = filesize($xhelpUploadDir . '/' . $file->getVar('filename'));
            echo "<tr class='even'>\r\n                      <td><input type='checkbox' name='files[]' value='" . $file->getVar('id') . "' /> " . $file->getVar('id') . "</td>\r\n                      <td><a href='" . $ticketpath . "' target='_BLANK'>" . $file->getVar('ticketid') . "</a></td>\r\n                      <td><a href='" . $filepath . "'>" . $file->getVar('filename') . "</a></td>\r\n                      <td>" . xhelpPrettyBytes($filesize) . "</td>\r\n                      <td>" . $file->getVar('mimetype') . "</td>\r\n                      <td>\r\n                          <a href='" . XHELP_ADMIN_URL . "/file.php?op=deleteFile&amp;fileid=" . $file->getVar('id') . "'><img src='" . XOOPS_URL . "/modules/xhelp/images/button_delete.png' title='" . _AM_XHELP_TEXT_DELETE . "' name='deleteFile' /></a>\r\n                      </td>\r\n                 </tr>";
        }
        echo "<tr class='foot'><td colspan='6'>\r\n                                   <input type='checkbox' name='checkAllFiles' value='0' onclick='selectAll(this.form,\"files[]\",this.checked);' />\r\n                                   <input type='submit' name='deleteFiles' id='deleteFiles' value='" . _AM_XHELP_BUTTON_DELETE . "' /></td></tr>";
        echo "</table></form>";
        echo "<div id='status_nav'>" . $nav->renderNav() . "</div>";
    } else {
        echo "<tr class='even'<td colspan='6'>" . _AM_XHELP_TEXT_NO_FILES . "</td></tr>";
        echo "</table></form>";
    }
    xhelpAdminFooter();
    xoops_cp_footer();
}