コード例 #1
0
 public static function metadata()
 {
     // Set path
     $path = null;
     if (isset($_GET['path'])) {
         $path = trim($_GET['path'], '/');
     }
     // Set Dropbox client
     $dropbox = new ServMaskDropboxClient(get_option('ai1wmde_dropbox_token'), get_option('ai1wmde_dropbox_ssl', true));
     // List folder
     $metadata = $dropbox->metadata($path);
     // Set folder structure
     $response = array('path' => null, 'items' => array());
     // Set folder path
     if (isset($metadata['path'])) {
         $response['path'] = $metadata['path'];
     }
     // Set folder items
     if (isset($metadata['contents']) && ($items = $metadata['contents'])) {
         foreach ($items as $item) {
             $response['items'][] = array('size' => isset($item['size']) ? $item['size'] : null, 'path' => isset($item['path']) ? $item['path'] : null, 'icon' => isset($item['icon']) ? $item['icon'] : null, 'bytes' => isset($item['bytes']) ? $item['bytes'] : null, 'is_dir' => isset($item['is_dir']) ? $item['is_dir'] : null);
         }
     }
     echo json_encode($response);
     exit;
 }
コード例 #2
0
 public static function execute($params)
 {
     // Set Dropbox client
     $dropbox = new ServMaskDropboxClient(get_option('ai1wmde_dropbox_token'), get_option('ai1wmde_dropbox_ssl', true));
     // Get metadata
     $metadata = $dropbox->metadata(ai1wm_archive_folder());
     // Number of backups
     if ($backups = get_option('ai1wmde_dropbox_backups')) {
         if ($backups = count($metadata['contents']) - $backups) {
             for ($i = 0; $i < $backups; $i++) {
                 if (empty($metadata['contents'][$i]['is_dir'])) {
                     $dropbox->delete($metadata['contents'][$i]['path']);
                 }
             }
         }
     }
     // Size of backups
     if ($total = ai1wm_parse_size(get_option('ai1wmde_dropbox_total'))) {
         $bytes = 0;
         if (isset($metadata['contents']) && ($contents = $metadata['contents'])) {
             foreach ($contents as $content) {
                 $bytes += $content['bytes'];
             }
             // Delete backups
             foreach ($contents as $content) {
                 if ($bytes > $total) {
                     if (empty($content['is_dir'])) {
                         $dropbox->delete($content['path']);
                         // Decrease bytes
                         $bytes -= $content['bytes'];
                     }
                 }
             }
         }
     }
     return $params;
 }