Changeset 1917

Show
Ignore:
Timestamp:
Wed Feb 22 17:46:57 2006
Author:
sebastian
Message:

fixes #1409, #1486, #1620

Files:

Legend:

Unmodified
Added
Removed
Modified
  • trunk/livesupport/src/modules/htmlUI/var/formmask/generic.inc.php

    r1821 r1917  
    643 643         )  
    644 644     ),  
      645     'PL.setItemPlaylength' => array(  
      646         'act'       => array(  
      647             'element'   => 'act',  
      648             'type'      => 'hidden',  
      649         ),  
      650         'id'        => array(  
      651             'element'   => 'id',  
      652             'type'      => 'hidden'  
      653         ),  
      654         'elemId'    => array(  
      655             'element'   => 'elemId',  
      656             'type'      => 'hidden'  
      657         ),  
      658         'duration'    => array(  
      659             'element'   => 'duration',  
      660             'type'      => 'hidden'  
      661         ),  
      662         'playlength'  => array(  
      663             'element'   => 'playlength',  
      664             'type'      => 'date',  
      665             'label'     => 'Playlength',  
      666             'options'   => array('format' => 'His'),  
      667         ),  
      668         array(  
      669             'element'   => 'cancel',  
      670             'type'      => 'button',  
      671             'label'     => 'Cancel',  
      672             'attributes'=> array('onClick' => 'window.close()'),  
      673             'groupit'   => TRUE  
      674         ),  
      675         array(  
      676             'element'   => 'reset',  
      677             'type'      => 'reset',  
      678             'label'     => 'Reset',  
      679             'groupit'   => TRUE  
      680         ),  
      681         array(  
      682             'element'   => 'submitter',  
      683             'type'      => 'button',  
      684             'label'     => 'Submit',  
      685             'attributes'=> array('onClick' => 'PL_checkItemPlaylength()'),  
      686             'groupit'   => TRUE  
      687         ),  
      688         array(  
      689             'group'     => array('cancel', 'reset', 'submitter')  
      690         )  
      691     ),  
    645 692     'schedule'  => array(  
    646 693         array(  
  • trunk/livesupport/src/modules/htmlUI/var/ui_playlist.class.php

    r1826 r1917  
    69 69             return FALSE;  
    70 70         }  
    71           $token = $this->Base->gb->lockPlaylistForEdit($plid, $this->Base->sessid);  
      71         $token = $this->Base->gb->lockPlaylistForEdit($plid, $this->Base->sessid);   
    71 71         if (PEAR::isError($token)) {  
    72               #print_r($token);  
      72             if (UI_VERBOSE === TRUE) print_r($token);  
    72 72             $this->Base->_retMsg('Unable to open playlist "$1".', $this->Base->_getMDataValue($plid, UI_MDATA_KEY_TITLE));  
    73 73             return FALSE;  
     
    95 95         $plgunid = $this->Base->gb->releaseLockedPlaylist($this->token, $this->Base->sessid);  
    96 96         if (PEAR::isError($plgunid)) {  
    97               #print_r($plgunid);  
      97             if (UI_VERBOSE === TRUE) print_r($plgunid);  
    97 97             if (UI_WARNING) $this->Base->_retMsg('Unable to release playlist.');  
    98 98             return FALSE;  
     
    129 129         $plgunid = $this->Base->gb->revertEditedPlaylist($this->token, $this->Base->sessid);  
    130 130         if (PEAR::isError($plgunid)) {  
    131               # print_r($plgunid);  
      131             if (UI_VERBOSE === TRUE) print_r($plgunid);  
    131 131             if (UI_WARNING) $this->Base->_retMsg('Unable to revert to locked state.');  
    132 132             return FALSE;  
     
    177 177     }  
    178 178  
    179       function addItem($elemIds)  
      179     function addItem($elemIds, $duration=null)  
    179 179     {  
    180           $this->changed = TRUE;  
      180         $this->changed  = TRUE;  
      181         $fadeIn         = null;  
      182         $fadeOut        = null;  
      183         $pause          = null;         
    181 184          
    182 185         if (!$elemIds) {  
     
    185 188             return FALSE;  
    186 189         }  
    187           if (!is_array($elemIds))  
      190         if (!is_array($elemIds)) {  
    187 190             $elemIds = array($elemIds);  
    188    
    189           foreach ($elemIds as $elemId) {  
    190               $r = $this->Base->gb->addAudioClipToPlaylist($this->token, $elemId, $this->Base->sessid);  
      191         }  
      192         if (isset($duration)) {  
      193             $length = sprintf('%02d', $duration['H']).':'.sprintf('%02d', $duration['i']).':'.sprintf('%02d', $duration['s']).'.000000';  
      194         }  
      195         foreach ($elemIds as $elemId) {  
      196             $r = $this->Base->gb->addAudioClipToPlaylist($this->token, $elemId, $this->Base->sessid, $fadeIn, $fadeOut, $length, $pause);  
    191 197             if (PEAR::isError($r)) {  
    192                   #print_r($r);  
      198                 if (UI_VERBOSE === TRUE) print_r($r);  
    192 198                 $this->Base->_retMsg('Error while trying to add item to playlist.');  
    193 199                 return FALSE;  
     
    259 265         $this->_plwalk($this->getPLArray($id));  
    260 266          
    261           reset($this->flat);  
    262           $this->flat[key($this->flat)]['firstInList'] = true;  
    263           end($this->flat);  
    264           $this->flat[key($this->flat)]['lastInList'] = true;  
    265           reset($this->flat);  
      267         if (is_Array($this->flat)) {  
      268             reset($this->flat);  
      269             $this->flat[key($this->flat)]['firstInList'] = true;  
      270             end($this->flat);  
      271             $this->flat[key($this->flat)]['lastInList'] = true;  
      272             reset($this->flat);  
    266 273  
    267           return $this->flat;  
      274             return $this->flat;  
      275         } else {  
      276             return array();     
      277         }  
    268 278     }  
    269 279  
     
    280 290                 $this->flat[$parent] = $this->Base->_getMetaInfo($this->Base->gb->_idFromGunid($sub['attrs']['id']));  
    281 291                 $this->flat[$parent]['attrs'] = $attrs;  
      292                 $this->flat[$parent]['playlength'] = $sub['attrs']['playlength'];  
    282 293             }  
    283 294             if ($sub['elementname']===UI_PL_ELEM_FADEINFO) {  
     
    338 349                 #print_r($r);  
    339 350                 if (PEAR::isError($r)) {  
    340                       if (UI_VERBOSE) print_r($r);  
      351                     if (UI_VERBOSE === TRUE) print_r($r);  
    340 351                     $this->Base->_retMsg('Changing fade information failed.');  
    341 352                     return FALSE;  
     
    349 360                 #print_r($r);  
    350 361                 if (PEAR::isError($r)) {  
    351                       if (UI_VERBOSE) print_r($r);  
      362                     if (UI_VERBOSE === TRUE) print_r($r);  
    351 362                     $this->Base->_retMsg('Changing fade information failed.');  
    352 363                     return FALSE;  
     
    365 376         $r = $this->Base->gb->moveAudioClipInPlaylist($this->token, $id, $pos, $this->Base->sessid);  
    366 377         if (PEAR::isError($r)) {  
    367               if (UI_VERBOSE) print_r($r);  
      378             if (UI_VERBOSE === TRUE) print_r($r);  
    367 378             $this->Base->_retMsg('Cannot move item.');  
    368 379             return FALSE;  
     
    383 394             $r = $this->Base->gb->moveAudioClipInPlaylist($this->token, $id, $pos, $this->Base->sessid);  
    384 395             if (PEAR::isError($r)) {  
    385                   if (UI_VERBOSE) print_r($r);  
      396                 if (UI_VERBOSE === TRUE) print_r($r);  
    385 396                 $this->Base->_retMsg('Cannot move item.');  
    386 397                 return FALSE;  
     
    468 479         return $renderer->toArray();  
    469 480     }  
      481      
      482     function setItemPlaylengthForm($id, $elemId, $mask)  
      483     {  
      484         if (isset($elemId)) {  
      485             $mask['act']['constant']        = 'PL.setItemPlaylength';  
      486             $mask['elemId']['constant']     = $elemId;     
      487             $element                        = $this->getCurrElement($elemId);  
      488             $mask['playlength']['default']  = substr($element['playlength'], 0, 8);  
      489             $mask['duration']['constant']   = substr($element['duration'], 0, 8);  
      490         } else {  
      491             $mask['act']['constant']        = 'PL.addItem';  
      492             $mask['id']['constant']         = $id;  
      493             $mask['playlength']['default']  = substr($this->Base->_getMDataValue($id, UI_MDATA_KEY_DURATION), 0, 8);  
      494             $mask['duration']['constant']   = $mask['playlength']['default'];  
      495         }  
      496          
      497         $form = new HTML_QuickForm('PL_setItemPlaylengthForm', UI_STANDARD_FORM_METHOD, UI_HANDLER);  
      498         $this->Base->_parseArr2Form($form, $mask);  
      499         $renderer =& new HTML_QuickForm_Renderer_Array(true, true);  
      500         $form->accept($renderer);  
      501         return $renderer->toArray();  
      502     }  
    470 503  
    471 504  
    532 565             $r = $this->Base->gb->setMDataValue($id, $key, $this->Base->sessid, $val, $curr_langid);  
    533 566             if (PEAR::isError($r)) {  
    534                   #print_r($r);  
      567                 if (UI_VERBOSE === TRUE) print_r($r);  
    534 567                 $this->Base->_retMsg('Unable to set "$1" to value "$2".', $key, $val);  
    535 568             }  
  • trunk/livesupport/src/modules/htmlUI/var/templates/playlist/editor.tpl

    r1912 r1917  
    36 36                             <td {include file="playlist/actionhandler.tpl"}>{$i.title}</td>  
    37 37                             <td {include file="playlist/actionhandler.tpl"} style="text-align: right">  
    38                                   {assign var="_duration" value=$i.duration}{niceTime in=$_duration}  
      38                                 {assign var="_duration" value=$i.playlength}{niceTime in=$_duration}  
    38 38                             </td>  
    39 39                             <td {include file="playlist/actionhandler.tpl"}>{$i.creator}</td>  
  • trunk/livesupport/src/modules/htmlUI/var/templates/playlist/actionhandler.tpl

    r1637 r1917  
    1 1 style="cursor: pointer"  
    2 2 onClick="return contextmenu('{$i.attrs.id}',  
      3  
      4     {if $i.type|lower == 'webstream'}  
      5         'listen', '{$i.gunid}',  
      6         'PL.changeItemPlaylength',     
      7     {/if}  
      8      
    3 9     {if $i.type|lower == 'audioclip'}  
    4           'listen', '{$i.gunid}', '{$i.type}',  
      10         'listen', '{$i.gunid}',  
      11         'PL.changeItemPlaylength',     
    5 12     {/if}  
      13          
    6 14     'PL.removeItem'  
    7 15     )"  
  • trunk/livesupport/src/modules/htmlUI/var/templates/menu.tpl

    r1821 r1917  
    21 21             <ul>  
    22 22                 <li><a href="{$UI_BROWSER}?folderId={$START.fid}&act=addFileData">##Audioclip##</a></li>  
    23                   {* <li><a href="{$UI_BROWSER}?folderId={$START.fid}&act=addWebstreamData">##Webstream##</a></li> *}  
      23                 <li><a href="{$UI_BROWSER}?folderId={$START.fid}&act=addWebstreamData">##Webstream##</a></li>  
    23 23             </ul>  
    24 24         </li>  
  • trunk/livesupport/src/modules/htmlUI/var/templates/popup/testStream.tpl

    r1637 r1917  
    16 16         {tra str='Stream is wanted type <font color="green">$1</font>.' 1=$data.type.type}  
    17 17  
    18       {else}  
      18     {elseif $data.type.type}  
    18 18         {tra str='Stream has wrong content type <font color="red">$1</font>.' 1=$data.type.type}  
      19     {else}  
      20         ##No content type declared.##  
    19 21     {/if}  
    20 22     </div>  
  • trunk/livesupport/src/modules/htmlUI/var/templates/script/contextmenu.js.tpl

    r1661 r1917  
    1 1 {literal}  
    2 2 <script type="text/javascript">  
    3       // www.jjam.de - Kontextmenü mit JavaScript - Version 15.12.2002  
      3 // www.jjam.de - Kontextmenü mit JavaScript - Version 15.12.2002  
    3 3  
    4       //  Browser detection  
    5       ie5 = (document.getElementById && document.all && document.styleSheets) ? 1 : 0;  
    6       nn6 = (document.getElementById && !document.all) ? 1 : 0;  
      4 //  Browser detection  
      5 ie5 = (document.getElementById && document.all && document.styleSheets) ? 1 : 0;  
      6 nn6 = (document.getElementById && !document.all) ? 1 : 0;  
      7  
      8 document.write('<div id="contextmenucontainer"></div>');  
      9 contextmenuStatus = 0;  
      10 document.onclick  = hidecontextmenu;  
      11  
      12  
      13 function contextmenu(param) {  
      14     var contextmenuHeader  = "<div class='contextmenu' id='contextmenu' style='position: absolute; top: -1000; left: 0; z-index: 100'>" +  
      15     "<ul>";  
      16     var contextmenuFooter  = "</ul></div>";  
      17     var contextmenuHtml    = '';  
      18  
      19     var sp2         = "  ";  
      20     var sp5         = sp2 + sp2 + " ";                     // Leerzeichen als Abstandshalter (flexibler und code-sparender als eine aufwendige Tabellenkonstruktion) ;  
      21     var oF          = "onfocus = 'if (this.blur) this.blur()'"; // Um hässlichen Linkrahmen in einigen Browsern zu vermeiden;  
      22     var entry       = new Array();  
      23     //contextmenuStatus = 0;  
      24  
      25     for (var i = 1; i < contextmenu.arguments.length; ++i) {  
      26         switch (contextmenu.arguments[i]) {  
      27             {/literal}  
      28             case "PL.release":  
      29             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=PL.confirmRelease', 'PL.confirmRelease', 400, 50)\" "+oF+"> ##Close## </a></li>";  
      30             break;  
      31  
      32             case "PL.addItem":  
      33             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=PL.addItem&id="+param+"')\" "+oF+"> ##Add to playlist## </a></li>";  
      34             break;  
      35              
      36             case "PL.addStream":  
      37             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=PL.setItemPlaylengthForm&id="+param+"', 'PL.setStreamPlaylength', 400, 50)\" "+oF+"> ##Add to playlist## </a></li>";  
      38             break;  
      39              
      40             case "PL.changeItemPlaylength":  
      41             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=PL.setItemPlaylengthForm&elemId="+param+"', 'PL.setItemPlaylength', 400, 50)\" "+oF+"> ##Change playlegth## </a></li>";  
      42             break;  
      43  
      44             case "PL.removeItem":  
      45             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=PL.removeItem&id="+param+"')\" "+oF+"> ##Remove from playlist## </a></li>";  
      46             break;  
      47  
      48             case "PL.activate":  
      49             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=PL.activate&id="+param+"')\" "+oF+"> ##Edit## </a></li>";  
      50             break;  
      51  
      52             case "PL.create":  
      53             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=PL.create&id="+param+"')\" "+oF+"> ##Use to create playlist## </a></li>";  
      54             break;  
      55  
      56             case "PL.changeFadeIn":  
      57             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=PL.changeTransition&type=fadeIn&id="+param+"', 'PL', '400', '150')\" "+oF+"> ##Change Fadein## </a></li>";  
      58             break;  
      59  
      60             case "PL.changeTransition":  
      61             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=PL.changeTransition&type=transition&id="+param+"', 'PL', '400', '150')\" "+oF+"> ##Change Transition## </a></li>";  
      62             break;  
      63  
      64             case "PL.changeFadeOut":  
      65             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=PL.changeTransition&type=fadeOut&id="+param+"', 'PL', '400', '150')\" "+oF+"> ##Change Fadeout## </a></li>";  
      66             break;  
      67  
      68             case "SP.addItem":  
      69             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=SP.addItem&id="+param+"')\" "+oF+"> ##Add to ScratchPad## </a></li>";  
      70             break;  
      71  
      72             case "SP.removeItem":  
      73             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=SP.removeItem&id="+param+"')\" "+oF+"> ##Remove from ScratchPad## </a></li>";  
      74             break;  
      75  
      76             case "listen":  
      77             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_BROWSER}?popup[]=listen2Audio&id="+contextmenu.arguments[++i]+"')\" "+oF+"> ##Listen## </a></li>";  
      78             break;  
      79  
      80             case "edit":  
      81             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href='{$UI_BROWSER}?act=editItem&id="+param+"' "+oF+"> ##Edit## </a></li>";  
      82             break;  
      83  
      84             case "delete":  
      85             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=deleteItem&id="+param+"', 'deleteItem', 400, 50)\" "+oF+"> ##Delete## </a></li>";  
      86             break;  
      87  
      88             case "fileList":  
      89             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href='{$UI_BROWSER}?act=fileList&id="+param+"' "+oF+"> ##List Folder## </a></li>";  
      90             break;  
      91  
      92             case "SCHEDULER.addItem":  
      93             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=SCHEDULER.setScheduleAtTime&"+param+"'); popup('{$UI_BROWSER}?popup[]=SCHEDULER.addItem', 'Schedule', 420, 200)\" "+oF+"> ##Insert playlist here## </a></li>";  
      94             break;  
      95  
      96             case "SCHEDULER.removeItem":  
      97             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=SCHEDULER.removeItem&"+param+"', 'Schedule', 400, 50)\" "+oF+"> ##Remove playlist## </a></li>";  
      98             break;  
      99  
      100             case "SCHEDULER.addPL":  
      101             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=day&today=1');"+  
      102             "hpopup('{$UI_HANDLER}?act=SCHEDULER.setScheduleAtTime&today=1&hour=0&minute=0');"+  
      103             ""+  
      104             "popup('{$UI_BROWSER}?popup[]=SCHEDULER.addItem&playlistId="+param+"', 'Schedule', 420, 200)\" "+oF+  
      105             "> ##Schedule## </a></li>";  
      106             break;  
      107  
      108             case "SUBJECTS.chgPasswd":  
      109             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href='{$UI_BROWSER}?act=SUBJECTS.chgPasswd&"+param+"' "+oF+"> ##Change password## </a></li>";  
      110             break;  
      111  
      112             case "SUBJECTS.manageGroupMember":  
      113             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href='{$UI_BROWSER}?act=SUBJECTS.manageGroupMember&"+param+"' "+oF+"> ##Manage group members## </a></li>";  
      114             break;  
      115  
      116             case "SUBJECTS.addSubj2Gr":  
      117             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href='#'  onClick=\"hpopup('{$UI_HANDLER}?act=SUBJECTS.addSubj2Gr&"+param+"')\" "+oF+"> ##Add to group## </a></li>";  
      118             break;  
      119  
      120             case "SUBJECTS.removeSubjFromGr":  
      121             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href='#'  onClick=\"hpopup('{$UI_HANDLER}?act=SUBJECTS.removeSubjFromGr&"+param+"')\" "+oF+"> ##Remove from group## </a></li>";  
      122             break;  
      123  
      124             case "SUBJECTS.removeSubj":  
      125             contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=SUBJECTS.confirmRemoveSubj&"+param+"', 'confirmRemoveSubj', 400, 50)\" "+oF+"> ##Delete## </a></li>";  
      126             break;  
    7 127  
    8       document.write('<div id="contextmenucontainer"></div>');  
    9       contextmenuStatus = 0;  
    10       document.onclick  = hidecontextmenu;  
    11    
    12    
    13       function contextmenu(param) {  
    14           var contextmenuHeader  = "<div class='contextmenu' id='contextmenu' style='position: absolute; top: -1000; left: 0; z-index: 100'>" +  
    15                                       "<ul>";  
    16           var contextmenuFooter  = "</ul></div>";  
    17           var contextmenuHtml    = '';  
    18    
    19           var sp2         = "  ";  
    20           var sp5         = sp2 + sp2 + " ";                     // Leerzeichen als Abstandshalter (flexibler und code-sparender als eine aufwendige Tabellenkonstruktion) ;  
    21           var oF          = "onfocus = 'if (this.blur) this.blur()'"; // Um hässlichen Linkrahmen in einigen Browsern zu vermeiden;  
    22           var entry       = new Array();  
    23           //contextmenuStatus = 0;  
    24    
    25           for (var i = 1; i < contextmenu.arguments.length; ++i) {  
    26               switch (contextmenu.arguments[i]) {  
    27                   {/literal}  
    28                   case "PL.release":  
    29                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=PL.confirmRelease', 'PL.confirmRelease', 400, 50)\" "+oF+"> ##Close## </a></li>";  
    30                   break;  
    31    
    32                   case "PL.addItem":  
    33                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=PL.addItem&id="+param+"')\" "+oF+"> ##Add to playlist## </a></li>";  
    34                   break;  
    35    
    36                   case "PL.removeItem":  
    37                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=PL.removeItem&id="+param+"')\" "+oF+"> ##Remove from playlist## </a></li>";  
    38                   break;  
    39    
    40                   case "PL.activate":  
    41                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=PL.activate&id="+param+"')\" "+oF+"> ##Edit## </a></li>";  
    42                   break;  
    43    
    44                   case "PL.create":  
    45                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=PL.create&id="+param+"')\" "+oF+"> ##Use to create playlist## </a></li>";  
    46                   break;  
    47    
    48                   case "PL.changeFadeIn":  
    49                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=PL.changeTransition&type=fadeIn&id="+param+"', 'PL', '400', '150')\" "+oF+"> ##Change Fadein## </a></li>";  
    50                   break;  
    51    
    52                   case "PL.changeTransition":  
    53                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=PL.changeTransition&type=transition&id="+param+"', 'PL', '400', '150')\" "+oF+"> ##Change Transition## </a></li>";  
    54                   break;  
    55    
    56                   case "PL.changeFadeOut":  
    57                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=PL.changeTransition&type=fadeOut&id="+param+"', 'PL', '400', '150')\" "+oF+"> ##Change Fadeout## </a></li>";  
    58                   break;  
    59    
    60                   case "SP.addItem":  
    61                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=SP.addItem&id="+param+"')\" "+oF+"> ##Add to ScratchPad## </a></li>";  
    62                   break;  
    63    
    64                   case "SP.removeItem":  
    65                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=SP.removeItem&id="+param+"')\" "+oF+"> ##Remove from ScratchPad## </a></li>";  
    66                   break;  
    67    
    68                   case "listen":  
    69                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_BROWSER}?popup[]=listen2AudioClip&id="+contextmenu.arguments[++i]+"')\" "+oF+"> ##Listen## </a></li>";  
    70                   break;  
    71    
    72                   case "edit":  
    73                       i++;  
    74                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href='{$UI_BROWSER}?act=editItem&id="+param+"' "+oF+"> ##Edit## </a></li>";  
    75                   break;  
    76    
    77                   case "delete":  
    78                       i++;  
    79                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=deleteItem&id="+param+"', 'deleteItem', 400, 50)\" "+oF+"> ##Delete## </a></li>";  
    80                   break;  
    81    
    82                   case "fileList":  
    83                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href='{$UI_BROWSER}?act=fileList&id="+param+"' "+oF+"> ##List Folder## </a></li>";  
    84                   break;  
    85    
    86                   case "SCHEDULER.addItem":  
    87                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=SCHEDULER.setScheduleAtTime&"+param+"'); popup('{$UI_BROWSER}?popup[]=SCHEDULER.addItem', 'Schedule', 420, 200)\" "+oF+"> ##Insert playlist here## </a></li>";  
    88                   break;  
    89    
    90                   case "SCHEDULER.removeItem":  
    91                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=SCHEDULER.removeItem&"+param+"', 'Schedule', 400, 50)\" "+oF+"> ##Remove playlist## </a></li>";  
    92                   break;  
    93    
    94                   case "SCHEDULER.addPL":  
    95                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=day&today=1');"+  
    96                                                                                                         "hpopup('{$UI_HANDLER}?act=SCHEDULER.setScheduleAtTime&today=1&hour=0&minute=0');"+  
    97                                                                                                         ""+  
    98                                                                                                         "popup('{$UI_BROWSER}?popup[]=SCHEDULER.addItem&playlistId="+param+"', 'Schedule', 420, 200)\" "+oF+  
    99                                                                                                         "> ##Schedule## </a></li>";  
    100                   break;  
    101    
    102                   case "SUBJECTS.chgPasswd":  
    103                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href='{$UI_BROWSER}?act=SUBJECTS.chgPasswd&"+param+"' "+oF+"> ##Change password## </a></li>";  
    104                   break;  
    105    
    106                   case "SUBJECTS.manageGroupMember":  
    107                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href='{$UI_BROWSER}?act=SUBJECTS.manageGroupMember&"+param+"' "+oF+"> ##Manage group members## </a></li>";  
    108                   break;  
    109    
    110                   case "SUBJECTS.addSubj2Gr":  
    111                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href='#'  onClick=\"hpopup('{$UI_HANDLER}?act=SUBJECTS.addSubj2Gr&"+param+"')\" "+oF+"> ##Add to group## </a></li>";  
    112                   break;  
    113    
    114                   case "SUBJECTS.removeSubjFromGr":  
    115                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href='#'  onClick=\"hpopup('{$UI_HANDLER}?act=SUBJECTS.removeSubjFromGr&"+param+"')\" "+oF+"> ##Remove from group## </a></li>";  
    116                   break;  
    117    
    118                   case "SUBJECTS.removeSubj":  
    119                       contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=SUBJECTS.confirmRemoveSubj&"+param+"', 'confirmRemoveSubj', 400, 50)\" "+oF+"> ##Delete## </a></li>";  
    120                   break;  
    121    
    122                   {literal}  
    123               }  
      128             {literal}  
    124 129         }  
    125           document.getElementById('contextmenucontainer').innerHTML = contextmenuHeader + contextmenuHtml + contextmenuFooter;  
    126           document.onclick = showcontextmenu;  
    127    
    128           return false;  
    129 130     }  
    130        
    131       function showcontextmenu(e) {  
    132           var contextmenuWidth   = document.getElementById('contextmenu').clientWidth;  
    133           var contextmenuHeight  = document.getElementById('contextmenu').clientHeight;  
    134    
    135           if (ie5) {  
    136              var clickX  = event.clientX;  
    137              var clickY  = event.clientY + document.body.scrollTop;  
    138              var winX    = document.body.clientWidth;  
    139              var winY    = document.body.clientHeight;  
    140              var scrollX = document.body.scrollLeft;  
    141              var scrollY = document.body.scrollTop;  
    142           } else {  
    143              var clickX  = e.pageX;  
    144              var clickY  = e.pageY;  
    145              var winX    = window.innerWidth;  
    146              var winY    = window.innerHeight;  
    147              var scrollX = window.scrollX;  
    148              var scrollY = window.scrollY;  
    149           }  
      131     document.getElementById('contextmenucontainer').innerHTML = contextmenuHeader + contextmenuHtml + contextmenuFooter;  
      132     document.onclick = showcontextmenu;  
    150 133  
    151           if (clickX + contextmenuWidth < winX)               var xPos = clickX;  
    152           else                                                var xPos = clickX - contextmenuWidth;  
      134     return false;  
      135 }  
    153 136  
    154           if (clickY + contextmenuHeight > winY + scrollY)    var yPos = clickY - contextmenuHeight;  
    155           else                                                var yPos = clickY;  
      137 function showcontextmenu(e) {  
      138     var contextmenuWidth   = document.getElementById('contextmenu').clientWidth;  
      139     var contextmenuHeight  = document.getElementById('contextmenu').clientHeight;  
      140  
      141     if (ie5) {  
      142         var clickX  = event.clientX;  
      143         var clickY  = event.clientY + document.body.scrollTop;  
      144         var winX    = document.body.clientWidth;  
      145         var winY    = document.body.clientHeight;  
      146         var scrollX = document.body.scrollLeft;  
      147         var scrollY = document.body.scrollTop;  
      148     } else {  
      149         var clickX  = e.pageX;  
      150         var clickY  = e.pageY;  
      151         var winX    = window.innerWidth;  
      152         var winY    = window.innerHeight;  
      153         var scrollX = window.scrollX;  
      154         var scrollY = window.scrollY;  
      155     }  
      156  
      157     if (clickX + contextmenuWidth < winX)               var xPos = clickX;  
      158     else                                                var xPos = clickX - contextmenuWidth;  
    156 159  
    157           if (yPos < scrollY) yPos = scrollY;  
      160     if (clickY + contextmenuHeight > winY + scrollY)    var yPos = clickY - contextmenuHeight;  
      161     else                                                var yPos = clickY;  
    158 162  
      163     if (yPos < scrollY) yPos = scrollY;  
    159 164  
    160           setTimeout("document.getElementById('contextmenu').style.left = "+xPos+"; document.getElementById('contextmenu').style.top = "+yPos+";", 10);  
    161           contextmenuStatus = 1;  
    162           document.onclick  = hidecontextmenu;  
    163       }  
    164 165  
      166     setTimeout("document.getElementById('contextmenu').style.left = "+xPos+"; document.getElementById('contextmenu').style.top = "+yPos+";", 10);  
      167     contextmenuStatus = 1;  
      168     document.onclick  = hidecontextmenu;  
      169 }  
    165 170  
    166       function hidecontextmenu(e) {  
    167           if (contextmenuStatus == 1) {  
    168               setTimeout("document.getElementById('contextmenu').style.top =- 250", 0);  
    169               contextmenuStatus = 0;  
    170           }  
      171  
      172 function hidecontextmenu(e) {  
      173     if (contextmenuStatus == 1) {  
      174         setTimeout("document.getElementById('contextmenu').style.top =- 250", 0);  
      175         contextmenuStatus = 0;  
    171 176     }  
      177 }  
    172 178  
    173 179 </script>  
  • trunk/livesupport/src/modules/htmlUI/var/templates/library/actionhandler.tpl

    r1637 r1917  
    1 1 onClick="return contextmenu('{$i.id}'  
    2 2     , 'SP.addItem'  
    3    
      3      
    3 3     {if $i.type|lower == 'audioclip'}  
    4           , 'listen', '{$i.gunid}', '##audioclip##'  
      4         , 'listen', '{$i.gunid}'  
      5          
    5 6         {if $_PL_activeId}  
    6 7             , 'PL.addItem'  
    7 8         {else}  
    8               , 'PL.create', '{$i.title|truncate:20|escape:'html'}'  
      9             , 'PL.create'  
    8 9         {/if}  
    9           , 'edit',   '##audioclip##'  
    10           , 'delete', '##audioclip##'  
      10          
      11         , 'edit'  
      12         , 'delete'  
    11 13     {/if}  
    12 14  
    13 15     {if $i.type|lower == 'webstream'}  
      16         , 'listen', '{$i.gunid}'  
      17          
    14 18         {if $_PL_activeId}  
    15               , 'PL.addItem'  
      19             , 'PL.addStream'  
    15 19         {else}  
    16               , 'PL.create', '{$i.title|truncate:20}'  
      20             , 'PL.create'  
    16 20         {/if}  
    17           , 'edit',   '##webstream##'  
    18           , 'delete', '##webstream##'  
      21          
      22         , 'edit'  
      23         , 'delete'  
    19 24     {/if}  
    20 25  
    28 33                 , 'PL.release'  
    29 34             {else}  
    30                   , 'SCHEDULER.addPL', 'PL.addItem', 'delete'  
      35                 , 'SCHEDULER.addPL'  
      36                 , 'PL.addItem'  
      37                 , 'delete'  
    31 38             {/if}  
    32 39         {else}  
    33               , 'SCHEDULER.addPL', 'PL.activate'  
    34               , 'PL.create', '{$i.title|truncate:20}'  
    35               , 'delete', '##playlist##'  
      40             , 'SCHEDULER.addPL'  
      41             , 'PL.activate'  
      42             , 'PL.create'  
      43             , 'delete'  
    36 44         {/if}  
    37 45     {/if}  
  • trunk/livesupport/src/modules/htmlUI/var/templates/scratchpad/actionhandler.tpl

    r1637 r1917  
    1 1 onClick="return contextmenu('{$i.id}'  
    2 2     , 'SP.removeItem'  
    3    
      3      
    3 3     {if $i.type|lower == 'audioclip'}  
    4           , 'listen', '{$i.gunid}', '##audioclip##'  
      4         , 'listen', '{$i.gunid}'  
      5          
    5 6         {if $_PL_activeId}  
    6 7             , 'PL.addItem'  
    7 8         {else}  
    8               , 'PL.create', '{$i.title|truncate:20|escape:'html'}'   
      9             , 'PL.create'   
    8 9         {/if}  
    9           , 'edit',   '##audioclip##'  
    10           , 'delete', '##audioclip##'  
      10          
      11         , 'edit'  
      12         , 'delete'  
    11 13     {/if}  
    12 14  
    13 15     {if $i.type|lower == 'webstream'}  
      16         , 'listen', '{$i.gunid}'  
      17          
    14 18         {if $_PL_activeId}  
    15               , 'PL.addItem'  
      19             {if $i.duration == '00:00:00.000000'}  
      20                 , 'PL.addStream'  
      21             {else}  
      22                 , 'PL.addItem'  
      23                 {/if}     
    16 24         {else}  
    17               , 'PL.create', '{$i.title|truncate:20}'  
      25             , 'PL.create'  
    17 25         {/if}  
    18           , 'edit',   '##webstream##'  
    19           , 'delete', '##webstream##'  
      26          
      27         , 'edit'  
      28         , 'delete'  
    20 29     {/if}  
    21 30  
    28 37                 , 'PL.release'  
    29 38             {elseif $PL->isAvailable($i.id) == true}  
    30                   , 'SCHEDULER.addPL', 'PL.addItem', 'PL.activate', 'PL.delete'  
      39                 , 'SCHEDULER.addPL'  
      40                 , 'PL.addItem'  
      41                 , 'PL.activate'  
      42                 , 'PL.delete'  
    31 43             {/if}  
    32 44         {elseif  $PL->isAvailable($i.id) == true}  
    33               , 'SCHEDULER.addPL', 'PL.activate'  
    34               , 'PL.create', '{$i.title|truncate:20}'  
    35               , 'delete', '##playlist##'  
      45             , 'SCHEDULER.addPL'  
      46             , 'PL.activate'  
      47             , 'PL.create'  
      48             , 'delete'  
    36 49         {/if}  
    37 50     {/if}  
  • trunk/livesupport/src/modules/htmlUI/var/html/ui_handler.php

    r1910 r1917  
    181 181  
    182 182     case "PL.addItem":  
    183           if ($uiHandler->PLAYLIST->addItem($_REQUEST['id']) !== FALSE)  
      183         if ($uiHandler->PLAYLIST->addItem($_REQUEST['id'], $_REQUEST['playlength']) !== FALSE)  
    183 183             $uiHandler->SCRATCHPAD->addItem($_REQUEST['id']);  
    184 184         $uiHandler->PLAYLIST->setReload();  
    185 185     break;  
      186      
      187  
      188     case "PL.setItemPlaylength":  
      189         $uiHandler->PLAYLIST->setItemPlaylength($_REQUEST['elemId'], $_REQUEST['playlength']);  
      190         $uiHandler->PLAYLIST->setReload();  
      191     break;  
    186 192  
    187 193     case "PL.removeItem":  
    280 286     break;  
    281 287      
    282       default:  
      288     case NULL:  
    282 288         if ($uiHandler->userid) {  
    283 289             $uiHandler->_retMsg('The uploaded filer is bigger than allowed in system settings. See "Help", chapter "Troubleshooting" for more information.');  
    284 290         }  
    285 291          
      292         $uiHandler->redirUrl = UI_BROWSER;     
      293         if ($_REQUEST['is_popup']) $uiHandler->redirUrl = UI_BROWSER.'?popup[]=_reload_parent&popup[]=_close';  
      294     break;  
      295      
      296     default:  
      297         $uiHandler->_retMsg(tra('Unknown method: $1', $_REQUEST['act']));  
    286 298         $uiHandler->redirUrl = UI_BROWSER;  
    287            
    288 299         if ($_REQUEST['is_popup']) $uiHandler->redirUrl = UI_BROWSER.'?popup[]=_reload_parent&popup[]=_close';  
      300     break;  
    289 301 }  
    290 302  
  • trunk/livesupport/src/modules/htmlUI/var/html/ui_browser.php

    r1910 r1917  
    101 101                 $Smarty->display('popup/PLAYLIST.arrangeItems.tpl');  
    102 102             break;  
    103    
      103              
      104             case "PL.setItemPlaylengthForm":  
      105                 $Smarty->assign('dynform', $uiBrowser->PLAYLIST->setItemPlaylengthForm($_REQUEST['id'], $_REQUEST['elemId'], $ui_fmask['PL.setItemPlaylength']));  
      106                 $Smarty->display('popup/PLAYLIST.setItemPlaylength.tpl');  
      107             break;  
      108              
    104 109             case "SCHEDULER.addItem":  
    105 110                 $Smarty->display('popup/SCHEDULER.addItem.tpl');  
    120 125             break;  
    121 126              
    122               case "listen2AudioClip":  
    123                   $Smarty->assign('data', $uiBrowser->listen2AudioClip($_REQUEST['id']));  
    124                   $Smarty->display('popup/listen2AudioClip.tpl');  
      127             case "listen2Audio":  
      128                 $Smarty->assign('data', $uiBrowser->listen2Audio($_REQUEST['id']));  
      129                 $Smarty->display('popup/listen2Audio.tpl');  
    125 130             break;  
    126 131              
  • trunk/livesupport/src/modules/htmlUI/var/ui_conf.php

    r1914 r1917  
    3 3  
    4 4 ## Warning/Error level  
    5   define('UI_DEBUG',                      TRUE);  
      5 define('UI_DEBUG',                      FALSE);  
    5 5 define('UI_VERBOSE',                    FALSE);  
    6 6 define('UI_WARNING',                    TRUE);  
     
    112 112  
    113 113 ## LS stuff  
    114   require_once '../../storageServer/var/conf.php';  
      114 require_once '../../../storageServer/var/conf.php';  
    114 114 ## extent config  
    115 115 $config = array_merge($config,  
     
    123 123         'stream_types'  => array(  
    124 124                             'application/ogg',  
    125                               'audio/mpeg'  
      125                             'audio/mpeg',  
      126                             'audio/x-mpegurl'  
    126 127         ),  
    127 128         'languages'     => array(  
    145 146 require_once dirname(__FILE__).'/ui_search.class.php';  
    146 147 require_once dirname(__FILE__).'/ui_browse.class.php';  
    147   require_once '../../storageServer/var/GreenBox.php';  
      148 require_once '../../../storageServer/var/GreenBox.php';  
    147 148 require_once dirname(__FILE__).'/formmask/generic.inc.php';  
    148 149 require_once dirname(__FILE__).'/ui_calendar.class.php';  
  • trunk/livesupport/src/modules/htmlUI/var/ui_browser.class.php

    r1821 r1917  
    433 433     }  
    434 434      
    435       function listen2AudioClip($clipid)  
      435     function listen2Audio($clipid)  
    435 435     {  
    436           #$pls  = "[playlist]\n".  
    437           #$pls .= "File1=http://{$_SERVER['SERVER_NAME']}".$this->config['accessRawAudioUrl']."?sessid={$this->sessid}&id=$clipid\n";  
    438           #$pls .= "Title1=Mein Titel\n";  
    439           #$pls .= "NumberOfEntries=1\nVersion=2";  
    440            
    441           #$m3u  = "#EXTM3U\n";  
    442           #$m3u .= "#EXTINF:111,Mein Titel\n";  
    443           $m3u .= "http://{$_SERVER['SERVER_NAME']}".$this->config['accessRawAudioUrl']."?sessid={$this->sessid}&id=$clipid\n";  
    444                
      436         $id   = $this->gb->_idFromGunid($clipid);  
      437         $type = $this->gb->getFileType($id);  
      438  
      439         if (strtolower($type) === strtolower(UI_FILETYPE_AUDIOCLIP)) {  
      440             $m3u = "http://{$_SERVER['SERVER_NAME']}".$this->config['accessRawAudioUrl']."?sessid={$this->sessid}&id=$clipid\n";  
      441         } else {  
      442             $m3u = $this->_getMDataValue($id, UI_MDATA_KEY_URL);  
      443         }  
    445 444         touch(UI_TESTSTREAM_MU3_TMP);  
    446 445         $handle = fopen(UI_TESTSTREAM_MU3_TMP, "w");  
    447 446         fwrite($handle, $m3u);  
    448           fclose($handle);          
      447         fclose($handle);         
    448 447     }   
    449 448