-/* Show admin interface. */
-{
- ?><div id = "install">
- <fieldset><legend><?php echo t('Actions');?></legend>
- <table>
- <form action = "<?php echo basename(__FILE__); ?>" method = "post">
- <tr>
- <input type = "hidden" name = "action" value = "clean"/>
- <td class = "info">
- <?php echo t('Clean expired files'); ?>
- </td>
- <td></td>
- <td>
- <input type = "submit" value = "<?php echo t('Clean'); ?>" />
- </td>
- </tr>
- </form>
- <form action = "<?php echo basename(__FILE__); ?>" method = "post">
- <tr>
- <input type = "hidden" name = "action" value = "clean_async"/>
- <td class = "info">
- <?php echo t('Clean old unfinished transferts'); ?>
- </td>
- <td></td>
- <td>
- <input type = "submit" value = "<?php echo t('Clean'); ?>" />
- </td>
- </tr>
- </form>
- <form action = "<?php echo basename(__FILE__); ?>" method = "post">
- <tr>
- <input type = "hidden" name = "action" value = "list"/>
- <td class = "info">
- <?php echo t('List all files'); ?>
- </td>
- <td></td>
- <td>
- <input type = "submit" value = "<?php echo t('List'); ?>" />
- </td>
- </tr>
- </form>
- <form action = "<?php echo basename(__FILE__); ?>" method = "post">
- <tr>
- <input type = "hidden" name = "action" value = "search_by_name"/>
- <td class = "info">
- <?php echo t('Search files by name'); ?>
- </td>
- <td>
- <input type = "text" name = "name" id = "name"/>
- </td>
- <td>
- <input type = "submit" value = "<?php echo t('Search'); ?>" />
- </td>
- </tr>
- </form>
- <form action = "<?php echo basename(__FILE__); ?>" method = "post">
- <tr>
- <input type = "hidden" name = "action" value = "search_by_file_hash"/>
- <td class = "info">
- <?php echo t('Search files by file hash'); ?>
- </td>
- <td>
- <input type = "text" name = "hash" id = "hash"/>
- </td>
- <td>
- <input type = "submit" value = "<?php echo t('Search'); ?>" />
- </td>
- </tr>
- </form>
- <form action = "<?php echo basename(__FILE__); ?>" method = "post">
- <tr>
- <input type = "hidden" name = "action" value = "search_link"/>
- <td class = "info">
- <?php echo t('Search a specific link'); ?>
- </td>
- <td>
- <input type = "text" name = "link" id = "link"/>
- </td>
- <td>
- <input type = "submit" value = "<?php echo t('Search'); ?>" />
- </td>
- </tr>
- </form>
- </table>
- <form action = "<?php echo basename(__FILE__); ?>" method = "post">
- <input type = "hidden" name = "action" value = "logout"/>
- <input type = "submit" value = "<?php echo t('Logout'); ?>" />
- </form>
- </fieldset></div><?php
-}
+ /* Check for actions */
+ if (isset($_POST['action'])) {
+ if (strcmp($_POST['action'], 'clean') == 0) {
+ $total = jirafeau_admin_clean();
+ echo '<div class="message">' . NL;
+ echo '<p>';
+ echo t('CLEANED_FILES_CNT') . ' : ' . $total;
+ echo '</p></div>';
+ } elseif (strcmp($_POST['action'], 'clean_async') == 0) {
+ $total = jirafeau_admin_clean_async();
+ echo '<div class="message">' . NL;
+ echo '<p>';
+ echo t('CLEANED_FILES_CNT') . ' : ' . $total;
+ echo '</p></div>';
+ } elseif (strcmp($_POST['action'], 'size') == 0) {
+ $size = jirafeau_dir_size($cfg['var_root']);
+ $human_size = jirafeau_human_size($size);
+ echo '<div class="message">' . NL;
+ echo '<p>' . t('SIZE_DATA') . ': ' . $human_size .'</p>';
+ echo '</div>';
+ } elseif (strcmp($_POST['action'], 'list') == 0) {
+ jirafeau_admin_list("", "", "");
+ } elseif (strcmp($_POST['action'], 'search_by_name') == 0) {
+ jirafeau_admin_list($_POST['name'], "", "");
+ } elseif (strcmp($_POST['action'], 'search_by_file_hash') == 0) {
+ jirafeau_admin_list("", $_POST['hash'], "");
+ } elseif (strcmp($_POST['action'], 'search_link') == 0) {
+ jirafeau_admin_list("", "", $_POST['link']);
+ } elseif (strcmp($_POST['action'], 'delete_link') == 0) {
+ jirafeau_delete_link($_POST['link']);
+ echo '<div class="message">' . NL;
+ echo '<p>' . t('LINK_DELETED') . '</p></div>';
+ } elseif (strcmp($_POST['action'], 'delete_file') == 0) {
+ $count = jirafeau_delete_file($_POST['hash']);
+ echo '<div class="message">' . NL;
+ echo '<p>' . t('DELETED_LINKS') . ' : ' . $count . '</p></div>';
+ } elseif (strcmp($_POST['action'], 'download') == 0) {
+ $l = jirafeau_get_link($_POST['link']);
+ if (!count($l)) {
+ return;
+ }
+ $p = s2p($l['hash']);
+ header('Content-Length: ' . $l['file_size']);
+ header('Content-Type: ' . $l['mime_type']);
+ header('Content-Disposition: attachment; filename="' .
+ $l['file_name'] . '"');
+ if (file_exists(VAR_FILES . $p . $l['hash'])) {
+ $r = fopen(VAR_FILES . $p . $l['hash'], 'r');
+ while (!feof($r)) {
+ print fread($r, 1024);
+ ob_flush();
+ }
+ fclose($r);
+ }
+ exit;
+ }
+ }