/dev/adei-asec

To get this branch, use:
bzr branch http://darksoft.org/webbzr/dev/adei-asec

« back to all changes in this revision

Viewing changes to services/download.php

  • Committer: Suren A. Chilingaryan
  • Date: 2011-03-15 02:47:05 UTC
  • mfrom: (210.1.3 adei)
  • Revision ID: csa@dside.dyndns.org-20110315024705-qljn30gwin8yrkne
Integration of work of students with fixes

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
 
 
3
  header("Content-type: text/xml");
 
4
  header("Cache-Control: no-cache, must-revalidate");
 
5
  header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
 
6
  global $ADEI;
 
7
  $ADEI->RequireClass("download");
 
8
 
 
9
 
 
10
try {  
 
11
  $target = $_GET["target"];    
 
12
  $dm = new DOWNLOADMANAGER();    
 
13
 
 
14
  switch ($target) {
 
15
    case "dlmanager_add":         
 
16
      $dm->AddDownload();           
 
17
    break;
 
18
    case "dlmanager_remove":
 
19
      $dm->RemoveDownload();      
 
20
    break;
 
21
    case "dlmanager_list":      
 
22
      CreateDownloadXml($dm->GetDownloads(), $target);
 
23
    break;          
 
24
    case "dlmanager_run":
 
25
      $dm->DlManagerRun();
 
26
    break;  
 
27
    case "dlmanager_sort":
 
28
      $dm->SortBy();
 
29
    break;
 
30
    case "dlmanager_details":
 
31
      CreateDownloadXml($dm->GetDownloadDetails(), $target);
 
32
    break;
 
33
    case "dlmanager_download":
 
34
      $dm->GetFile();
 
35
    break;
 
36
    case "dlmanager_toggleautodelete";
 
37
      $download = $_GET["dl_id"];                
 
38
      $dm->ToggleAutodelete($download);
 
39
    break;
 
40
    default:
 
41
      throw new ADEIException(translate("Error with download service: Target ( $target ) not valid"));
 
42
    break;
 
43
  }   
 
44
   
 
45
} catch(ADEIException $ex) {  
 
46
   
 
47
   throw new ADEIException(translate("Error with download service. Target: $target \n Error: $ex"));   
 
48
  }
 
49
 
 
50
  function CreateDownloadXml($props, $mode) {
 
51
    $XMLoutput = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
 
52
    switch ($mode) {
 
53
      case 'dlmanager_list':    
 
54
        $XMLoutput .= "<result>\n";
 
55
        foreach($props as $download) {   
 
56
        $XMLoutput .= "<download";
 
57
          foreach($download as $key => $value) {
 
58
            $XMLoutput .= " $key=\"$value\"";
 
59
          }     
 
60
        $XMLoutput .= "></download>\n";
 
61
        }       
 
62
        $XMLoutput .= "</result>";
 
63
      break;
 
64
      case 'dlmanager_details':
 
65
        $XMLoutput .= "<groups>";
 
66
        if(!empty($props['props']['error'])) $XMLoutput .= "<error>{$props['props']['error']}</error>";
 
67
        $XMLoutput .= "<window><from>{$props['props']['window']['from']}</from><to>{$props['props']['window']['to']}</to></window>";    //
 
68
        $XMLoutput .= "<data><format>{$props['props']['format']}</format><size>{$props['props']['size']}</size></data>";
 
69
        
 
70
        foreach($props['groups'] as $gid => $itemlist) {
 
71
          $XMLoutput .= "<group>\n<gname>$gid</gname>";
 
72
          foreach($itemlist as $item => $info){
 
73
            $XMLoutput .= "<item>\n<itemid>{$info['id']}</itemid>\n<itemname>{$info['name']}</itemname>\n</item>\n";        
 
74
          }
 
75
          $XMLoutput .= "</group>";
 
76
        }
 
77
        $XMLoutput .= "</groups>";   
 
78
      break;
 
79
    }
 
80
    echo $XMLoutput;        
 
81
  }
 
82
 
 
83
?>