Changeset 57


Ignore:
Timestamp:
04/04/05 12:23:56 (10 years ago)
Author:
niko
Message:

ticket #67:

  • label for files using the syntax suggested by gogo
  • updated scan.php to use the new syntax

ticket #99:

Location:
trunk/plugins/Linker
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/Linker/linker.js

    r41 r57  
    6868{ 
    6969  if(!a && this.editor._selectionEmpty(this.editor._getSelection())) 
    70   { 
     70  {        
    7171    alert(this._lc("You must select some text before making a new link.")); 
    7272    return false; 
     
    316316        //get files from backend 
    317317        HTMLArea._getback(linker.lConfig.backend, 
    318                           function(txt) { lDialog.files = eval(txt); lDialog._prepareDialog(); }); 
     318                          function(txt) { 
     319                            try { 
     320                                eval('lDialog.files = '+txt); 
     321                            } catch(Error) { 
     322                                lDialog.files = [ {url:'',title:Error.toString()} ]; 
     323                            } 
     324                            lDialog._prepareDialog(); }); 
    319325    } 
    320326    else if(linker.lConfig.files != null) 
     
    384390                     files[i]); 
    385391    } 
    386     else 
     392    else if(files[i].length) 
    387393    { 
    388394      var id = this.Dialog_nxtid++; 
    389395      this.dTree.add(id, parent, files[i][0].replace(/^.*\//, ''), null, files[i][0]); 
    390396      this.makeNodes(files[i][1], id); 
     397    } 
     398    else if(typeof files[i] == 'object') 
     399    { 
     400      if(files[i].children) { 
     401        var id = this.Dialog_nxtid++; 
     402      } else { 
     403        var id = Linker.nxtid++; 
     404      } 
     405 
     406      if(files[i].title) var title = files[i].title; 
     407      else if(files[i].url) var title = files[i].url.replace(/^.*\//, ''); 
     408      else var title = "no title defined"; 
     409      if(files[i].url) var link = 'javascript:document.getElementsByName(\'' + this.dialog.id.href + '\')[0].value=decodeURIComponent(\'' + encodeURIComponent(files[i].url) + '\');document.getElementsByName(\'' + this.dialog.id.type + '\')[0].click();document.getElementsByName(\'' + this.dialog.id.href + '\')[0].focus();void(0);'; 
     410      else var link = ''; 
     411       
     412      this.dTree.add(id, parent, title, link, title); 
     413      if(files[i].children) { 
     414        this.makeNodes(files[i].children, id); 
     415      } 
    391416    } 
    392417  } 
  • trunk/plugins/Linker/scan.php

    r21 r57  
    6262            if($subdir = scan($path, $url)) 
    6363            { 
    64               $files[] = array($url, $subdir); 
     64              $files[] = array('url'=>$url, 'children'=>$subdir); 
    6565            } 
    6666          } 
     
    6868          { 
    6969            if(($include && !preg_match($include, $url)) || ($exclude && preg_match($exclude, $url))) continue; 
    70             $files[] = $url; 
     70            $files[] = array('url'=>$url); 
    7171          } 
    7272 
     
    104104      if(is_array($var)) 
    105105      { 
     106        $useObject = false; 
     107        foreach(array_keys($var) as $k) { 
     108            if(!is_numeric($k)) $useObject = true; 
     109        } 
    106110        $js = array(); 
    107111        foreach($var as $k => $v) 
    108112        { 
    109           $js[] = to_js($v, $tabs + 1); 
     113          $i = ""; 
     114          if($useObject) { 
     115            if(preg_match('#[a-zA-Z]+[a-zA-Z0-9]*#', $k)) { 
     116              $i .= "$k: "; 
     117            } else { 
     118              $i .= "'$k': "; 
     119            } 
     120          } 
     121          $i .= to_js($v, $tabs + 1); 
     122          $js[] = $i; 
    110123        } 
    111         return "[\n" . tabify(implode(",\n", $js), $tabs) . "\n]"; 
     124        if($useObject) { 
     125            $ret = "{\n" . tabify(implode(",\n", $js), $tabs) . "\n}"; 
     126        } else { 
     127            $ret = "[\n" . tabify(implode(",\n", $js), $tabs) . "\n]"; 
     128        } 
     129        return $ret; 
    112130      } 
    113131 
Note: See TracChangeset for help on using the changeset viewer.