Changeset 715

Show
Ignore:
Timestamp:
11/13/08 22:03:46 (5 years ago)
Author:
Tatzelwurm
Message:

Last version (1.1.0 pl 1)

Location:
downloadDatabase
Files:
17 added
22 modified

Legend:

Unmodified
Added
Removed
  • downloadDatabase/acptemplates/downloadDBDataAdd.tpl

    r668 r715  
    11{include file='header'} 
    22{include file='Wysiwyg'} 
     3<script type="text/javascript"> 
     4        //<![CDATA[ 
     5        function setLinkType(newType) { 
     6                switch (newType) { 
     7                        case 0: 
     8                                hideOptions('linkDiv', 'groesseDiv'); 
     9                                showOptions('uploadDiv'); 
     10                                break; 
     11                        case 1: 
     12                                hideOptions('groesseDiv','uploadDiv'); 
     13                                showOptions('linkDiv'); 
     14                                break; 
     15                        case 2: 
     16                                hideOptions('uploadDiv'); 
     17                                showOptions('linkDiv', 'groesseDiv'); 
     18                                break; 
     19                } 
     20        } 
     21        onloadEvents.push(function() { setLinkType({@$linkType}); }); 
     22        //]]> 
     23</script> 
    324<div class="mainHeadline"> 
    425        <img src="{@RELATIVE_WCF_DIR}icon/downloadDBData{@$action|ucfirst}L.png" alt="" /> 
     
    195216                                <fieldset> 
    196217                                        <legend>{lang}wcf.acp.dldb.data.settings{/lang}</legend> 
    197                                         {if $action == 'add' || !$isExtern} 
     218                                        {if $action == 'add'} 
     219                                                <div class="formElement" id="linkType"> 
     220                                                        <ul class="formOptions"> 
     221                                                                <li><label><input onclick="if (IS_SAFARI) setLinkType(0)" onfocus="setLinkType(0)" type="radio" name="linkType" value="0" {if $linkType == 0}checked="checked" {/if}/> {lang}wcf.acp.dldb.data.uploadLink{/lang}</label></li> 
     222                                                                <li><label><input onclick="if (IS_SAFARI) setLinkType(1)" onfocus="setLinkType(1)" type="radio" name="linkType" value="1" {if $linkType == 1}checked="checked" {/if}/> {lang}wcf.acp.dldb.data.internLink{/lang}</label></li> 
     223                                                                <li><label><input onclick="if (IS_SAFARI) setLinkType(2)" onfocus="setLinkType(2)" type="radio" name="linkType" value="2" {if $linkType == 2}checked="checked" {/if}/> {lang}wcf.acp.dldb.data.externLink{/lang}</label></li> 
     224                                                        </ul> 
     225                                                </div> 
     226                                        {else} 
     227                                                <div class="formElement" id="linkType"> 
     228                                                        <ul class="formOptions"> 
     229                                                                {if $linkType == 0}<li><label><input onclick="if (IS_SAFARI) setLinkType(0)" onfocus="setLinkType(0)" type="radio" name="linkType" value="0" {if $linkType == 0}checked="checked" {/if}/> {lang}wcf.acp.dldb.data.uploadLink{/lang}</label></li>{/if} 
     230                                                                {if $linkType == 1}<li><label><input onclick="if (IS_SAFARI) setLinkType(1)" onfocus="setLinkType(1)" type="radio" name="linkType" value="1" {if $linkType == 1}checked="checked" {/if}/> {lang}wcf.acp.dldb.data.internLink{/lang}</label></li>{/if} 
     231                                                                {if $linkType == 2}<li><label><input onclick="if (IS_SAFARI) setLinkType(2)" onfocus="setLinkType(2)" type="radio" name="linkType" value="2" {if $linkType == 2}checked="checked" {/if}/> {lang}wcf.acp.dldb.data.externLink{/lang}</label></li>{/if} 
     232                                                        </ul> 
     233                                                </div> 
     234                                        {/if} 
    198235                                        <div class="formElement{if $errorField == 'upload'} formError{/if}" id="uploadDiv"> 
    199236                                                <div class="formFieldLabel"> 
     
    233270                                                //]]></script> 
    234271                                        </div> 
    235                                         {/if} 
    236272                                        <div class="formElement{if $errorField == 'link'} formError{/if}" id="linkDiv"> 
    237273                                                <div class="formFieldLabel"> 
     
    260296                                                </div> 
    261297                                                <div class="formField"> 
    262                                                         <input {if $fileName}readonly {/if}type="text" class="inputText" id="groesse" name="groesse" value="{$groesse}" /> 
     298                                                        <input type="text" class="inputText" id="groesse" name="groesse" value="{$groesse}" /> 
    263299                                                </div> 
    264300                                                <div class="formFieldDesc hidden" id="groesseHelpMessage"> 
  • downloadDatabase/acptemplates/downloadDBDataList.tpl

    r524 r715  
    5757                                        <td class="columnIcon"> 
    5858                                                {if $this->user->getPermission('admin.dldb.canEditKat')} 
    59                                                         <a href="index.php?form=DownloadDBKatEdit&amp;katID={@$data.katID}&amp;packageID={@PACKAGE_ID}{@SID_ARG_2ND}">{@$data.katName}</a> 
     59                                                        <a href="index.php?form=DownloadDBKatEdit&amp;katID={@$data.katID}&amp;packageID={@PACKAGE_ID}{@SID_ARG_2ND}">{lang}{@$data.katName}{/lang}</a> 
    6060                                                {else} 
    61                                                         {@$data.katName} 
     61                                                        {lang}{@$data.katName}{/lang} 
    6262                                                {/if} 
    6363                                        </td> 
  • downloadDatabase/acptemplates/downloadDBKatAdd.tpl

    r668 r715  
    8888                                                                {if $errorField == 'topID'} 
    8989                                                                        <p class="innerError"> 
    90                                                                                 {if $errorType == 'invalid'}{lang}wcf.acp.dldb.error.topID.invalid{/lang}{/if} 
     90                                                                                {if $errorType == 'invalid'}{lang}wcf.acp.dldb.data.error.katID.invalid{/lang}{/if} 
    9191                                                                        </p> 
    9292                                                                {/if} 
  • downloadDatabase/acptemplates/downloadDBKatList.tpl

    r524 r715  
    5151 
    5252                                                                {if $this->user->getPermission('admin.dldb.canDeleteKat') && $kategorie.datain == 0 && $kategorie.haschild == 0} 
    53                                                                         <a onclick="return confirm('{lang}wcf.acp.dldb.delete.sure{/lang}')" href="index.php?action=DownloadDBKatDelete&amp;katID={@$kategorie.katID}&amp;packageID={@PACKAGE_ID}{@SID_ARG_2ND}"><img src="{@RELATIVE_WCF_DIR}icon/deleteS.png" alt="" title="{lang}wcf.acp.dldb.kat.delete{/lang}" /></a> 
     53 
    5454                                                                {else} 
    5555                                                                        <img src="{@RELATIVE_WCF_DIR}icon/deleteDisabledS.png" alt="" {if $kategorie.datain == 0}title="{lang}wcf.acp.dldb.kat.delete{/lang}"{else}title="{lang}wcf.acp.dldb.kat.delete.datain{/lang}"{/if} /> 
  • downloadDatabase/files/lib/acp/form/DownloadDBDataAddForm.class.php

    r668 r715  
    44require_once(WCF_DIR.'lib/data/downloadDB/DownloadDBDataEditor.class.php'); 
    55require_once(WCF_DIR.'lib/system/io/Tar.class.php'); 
     6require_once(WCF_DIR.'lib/acp/form/ACPForm.class.php'); 
    67 
    78 
     
    4142        public $supportThread = ''; 
    4243        public $activ = 0; 
     44        public $linkType = 0; 
    4345        public $isExtern = false; 
    4446        public $languageID = '1'; 
     
    7678                if (isset($_POST['activ']))                     $this->activ            = intval($_POST['activ']); 
    7779                if (isset($_POST['languageID']))        $this->languageID       = intval($_POST['languageID']); 
     80                if (isset($_POST['linkType']))          $this->linkType         = intval($_POST['linkType']); 
    7881                // for File Upload 
    7982                if (isset($_FILES['upload']))           $this->upload           = $_FILES['upload']; 
     
    9699                        throw new UserInputException('katID', 'invalid'); 
    97100                } 
    98                 // prÃŒfen ob ein Link eingegeben wurde 
    99                 if (empty($this->upload) && empty($this->link)) { 
    100                         throw new UserInputException('link', 'empty'); 
     101                // prÃŒfen ob ein Upload eingegeben wurde 
     102                if ($this->linkType == 0 && empty($this->upload) && $this->action == "add") { 
     103                        throw new UserInputException('upload', 'empty'); 
    101104                } 
    102105                // prÃŒfen ob ein relativer Pfad eingegeben wurde 
    103                 if ($this->link && (FileUtil::isURL($this->link) == false)) { 
     106                if ($this->linkType == 1 && $this->link && (FileUtil::isURL($this->link) == false)) { 
    104107                        if ($this->link{0} == "/"){ 
    105108                                if (@fopen($_SERVER['DOCUMENT_ROOT'].$this->link,'rb') == false) { 
    106109                                        throw new UserInputException('link', 'badFile'); 
    107110                                } 
     111                        } else { 
     112                                throw new UserInputException('link', 'invalid'); 
    108113                        } 
    109114                }  
    110                 // Only if Action = add 
    111                 if ($this->action == 'add') { 
    112                         // prÃŒfen ob ein Link UND File angegeben wurden 
    113                         if ($this->link && ($this->upload && $this->upload['error'] != 4)) { 
     115                // prÃŒfen ob ein externer Link eingegeben wurde 
     116                if ($this->linkType == 2 && $this->link && (FileUtil::isURL($this->link) == false)) { 
    114117                                throw new UserInputException('link', 'invalid'); 
    115                         } 
    116                 } 
     118                }  
    117119                $this->valid = true; 
    118120        } 
     
    122124         */ 
    123125        public function save() { 
     126                parent::save(); 
    124127                //Create new Dataset with FileUpload  
    125128                if ($this->valid && $this->action == 'add'){ 
    126129                        // upload file if given 
    127                         if (!$this->link) { 
     130                        if ($this->linkType == 0) { 
    128131                                if ($this->upload && $this->upload['error'] != 4) { 
    129132                                        if ($this->upload['error'] != 0) { 
     
    136139                                        throw new UserInputException('upload'); 
    137140                                } 
    138                         } else { 
    139                                 if (FileUtil::isURL($this->link) == false) { 
    140                                         if ($this->link{0} == "/"){ 
    141                                                 if (FileUtil::isURL($_SERVER['DOCUMENT_ROOT'].$this->link) == false) { 
    142                                                         if (StringUtil::indexOf($_SERVER['DOCUMENT_ROOT'].$this->link, '/') !== false) { 
    143                                                                 $this->fileName = StringUtil::substring($_SERVER['DOCUMENT_ROOT'].$this->link, StringUtil::lastIndexOf($_SERVER['DOCUMENT_ROOT'].$this->link, '/') + 1); 
    144                                                         } 
    145                                                         if (StringUtil::indexOf($this->fileName, '.') !== false) { 
    146                                                                 $this->fileExtension = StringUtil::toLowerCase(StringUtil::substring($this->fileName, StringUtil::lastIndexOf($this->fileName, '.') + 1)); 
    147                                                         } 
    148                                                         $this->groesse = @filesize($_SERVER['DOCUMENT_ROOT'].$this->link); 
     141                        } 
     142                        if ($this->linkType == 1) { 
     143                                if ($this->link{0} == "/"){ 
     144                                        if (FileUtil::isURL($_SERVER['DOCUMENT_ROOT'].$this->link) == false) { 
     145                                                if (StringUtil::indexOf($_SERVER['DOCUMENT_ROOT'].$this->link, '/') !== false) { 
     146                                                        $this->fileName = StringUtil::substring($_SERVER['DOCUMENT_ROOT'].$this->link, StringUtil::lastIndexOf($_SERVER['DOCUMENT_ROOT'].$this->link, '/') + 1); 
     147                                                } 
     148                                                if (StringUtil::indexOf($this->fileName, '.') !== false) { 
     149                                                        $this->fileExtension = StringUtil::toLowerCase(StringUtil::substring($this->fileName, StringUtil::lastIndexOf($this->fileName, '.') + 1)); 
     150                                                } 
     151                                                $this->groesse = @filesize($_SERVER['DOCUMENT_ROOT'].$this->link); 
    149152// Funktioniert nur wenn "fileinfo" in php aktiviert ist!!  
    150 //                                                      $finfo = @finfo_open(FILEINFO_MIME); // return mime type ala mimetype extension 
    151 //                                                      $this->mimeType = @finfo_file($finfo, $_SERVER['DOCUMENT_ROOT'].$this->link); 
    152                                                         $this->mimeType = ''; /*#### Entfernen wenn fileinfo aktiv ist ###*/ 
     153//                                              $finfo = @finfo_open(FILEINFO_MIME); // return mime type ala mimetype extension 
     154//                                              $this->mimeType = @finfo_file($finfo, $_SERVER['DOCUMENT_ROOT'].$this->link); 
     155                                                $this->mimeType = ''; /*#### Entfernen wenn fileinfo aktiv ist ###*/ 
    153156// daher ist $mimeType = ''; 
    154157                                                } 
    155                                         } else { 
    156                                                 if (FileUtil::isURL($this->link) == false) { 
    157                                                         if (StringUtil::indexOf($this->link, '/') !== false) { 
    158                                                                 $this->fileName = StringUtil::substring($this->link, StringUtil::lastIndexOf($this->link, '/') + 1); 
    159                                                         } 
    160                                                         if (StringUtil::indexOf($this->fileName, '.') !== false) { 
    161                                                                 $this->fileExtension = StringUtil::toLowerCase(StringUtil::substring($this->fileName, StringUtil::lastIndexOf($this->fileName, '.') + 1)); 
    162                                                         } 
    163                                                         $this->groesse  = @filesize($this->link); 
    164                                                         $this->mimeType = ''; 
     158                                } else { 
     159                                        if (FileUtil::isURL($this->link) == false) { 
     160                                                if (StringUtil::indexOf($this->link, '/') !== false) { 
     161                                                        $this->fileName = StringUtil::substring($this->link, StringUtil::lastIndexOf($this->link, '/') + 1); 
     162                                                } 
     163                                                if (StringUtil::indexOf($this->fileName, '.') !== false) { 
     164                                                        $this->fileExtension = StringUtil::toLowerCase(StringUtil::substring($this->fileName, StringUtil::lastIndexOf($this->fileName, '.') + 1)); 
     165                                                } 
     166                                                $this->groesse  = @filesize($this->link); 
     167                                                $this->mimeType = ''; 
    165168// Funktioniert nur wenn "fileinfo" in php aktiviert ist!!  
    166 //                                                      $finfo = @finfo_open(FILEINFO_MIME); // return mime type ala mimetype extension 
    167 //                                                      $this->mimeType = @finfo_file($finfo, $_SERVER['DOCUMENT_ROOT'].$this->link); 
    168                                                         $this->mimeType = ''; /*#### Entfernen wenn fileinfo aktiv ist ###*/ 
     169//                                              $finfo = @finfo_open(FILEINFO_MIME); // return mime type ala mimetype extension 
     170//                                              $this->mimeType = @finfo_file($finfo, $_SERVER['DOCUMENT_ROOT'].$this->link); 
     171                                                $this->mimeType = ''; /*#### Entfernen wenn fileinfo aktiv ist ###*/ 
    169172// daher ist $mimeType = ''; 
    170                                                 } 
    171173                                        } 
    172                                 } else { 
    173                                         $this->fileName = $this->fileExtension = NULL; 
    174                                 } 
    175                         } 
     174                                } 
     175                        } 
     176                        if ($this->linkType == 2) { 
     177                                $this->fileName = $this->fileExtension = NULL; 
     178                        } 
     179 
    176180                        // check for Preview File 
    177181                        if ($this->previewArray && $this->previewArray['error'] != 4) { 
     
    218222                                                        'thread'                => $this->supportThread, 
    219223                                                        'activ'                 => true, 
     224                                                        'linkType'              => intval($this->linkType), 
    220225                                                        'parseURL'              => intval($this->parseURL), 
    221226                                                        'enableBBCodes' => intval($this->enableBBCodes), 
     
    239244                                                        'thread'                => $this->supportThread, 
    240245                                                        'activ'                 => true, 
     246                                                        'linkType'              => intval($this->linkType), 
    241247                                                        'parseURL'              => intval($this->parseURL), 
    242248                                                        'enableBBCodes' => intval($this->enableBBCodes), 
     
    252258                                } 
    253259                        } 
    254                 } 
    255                 parent::save(); 
    256                 // reset values 
    257                 $this->name = $this->description = $this->link = $this->supportThread = NULL; 
    258                 $this->fileName = $this->fileExtension = $this->mimeType = NULL; 
    259                 $this->previewFile = $this->previewIMG = NULL; 
    260                 $this->groesse = $this->downloads = $this->katID = 0; 
    261                 $this->sortOrder = $this->languageID = 1; 
     260                        // reset values 
     261                        $this->name = $this->description = $this->link = $this->supportThread = NULL; 
     262                        $this->fileName = $this->fileExtension = $this->mimeType = NULL; 
     263                        $this->previewFile = $this->previewIMG = NULL; 
     264                        $this->groesse = $this->downloads = $this->katID = $this->linkType = 0; 
     265                        $this->sortOrder = $this->languageID = 1; 
     266                        $this->additionalFields = array(); 
     267                } 
    262268                // reset cache 
    263269                WCF::getCache()->clear(WCF_DIR.'cache/', 'cache.dldbKat.php'); 
     
    322328                        'supportThread' => $this->supportThread, 
    323329                        'activ'                 => $this->activ, 
    324                         'action'                => 'add', 
     330                        'linkType'              => $this->linkType, 
    325331                        'previewExtensions' => DOWNLOADDB_ALLOWED_PREVIEW_EXT, 
    326                         'fileExtensions' => DOWNLOADDB_ALLOWED_FILE_EXT, 
     332                        'fileExtensions'        => DOWNLOADDB_ALLOWED_FILE_EXT, 
    327333                        'maxFileSize'   => $maxFileSize, 
    328334                        'isExtern'              => $this->isExtern, 
    329335                        'languageID'    => $this->languageID, 
    330                         'language'              => $languageArray 
     336                        'language'              => $languageArray, 
     337                        'action'                => 'add' 
    331338                )); 
    332339        } 
     
    338345                foreach ($this->katCache as $ID => $kategorie) { 
    339346                        if ($kategorie['topID'] == $katID) { 
    340                                 $this->katOptions[$kategorie['katID']] = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".StringUtil::unescape($kategorie['name']); 
     347                                $this->katOptions[$kategorie['katID']] = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".WCF::getLanguage()->get(StringUtil::encodeHTML($kategorie['name'])); 
    341348                                // weitere Unterkategorien suchen 
    342349                                $this->readSubKat($kategorie['katID']); 
     
    349356                foreach ($this->katCache as $ID => $kategorie) { 
    350357                        if ($kategorie['topID'] == NULL) { 
    351                                 $this->katOptions[$kategorie['katID']] = "&nbsp;&nbsp;&nbsp;&nbsp;".StringUtil::unescape($kategorie['name']); 
     358                                $this->katOptions[$kategorie['katID']] = "&nbsp;&nbsp;&nbsp;&nbsp;".WCF::getLanguage()->get(StringUtil::encodeHTML($kategorie['name'])); 
    352359                                $this->readSubKat($kategorie['katID']); 
    353360                        }  
  • downloadDatabase/files/lib/acp/form/DownloadDBDataEditForm.class.php

    r668 r715  
    9999         */ 
    100100        public function save() { 
     101                parent::save(); 
    101102                if ($this->valid && $this->dataID) { 
    102103                        $dataset = new DownloadDBDataEditor($this->dataID); 
    103                         if ($this->downloadsAkt)        $this->downloads = 0; else $this->downloads = $dataset->downloads; 
    104                         if ($this->datumAkt)            $this->datum = TIME_NOW; else $this->datum      = $dataset->datum; 
     104                        if ($this->downloadsAkt)        $this->downloads = 0;           else $this->downloads   = $dataset->downloads; 
     105                        if ($this->datumAkt)            $this->datum = TIME_NOW;        else $this->datum               = $dataset->datum; 
    105106                        if ($this->userIDAkt)           $this->dldbUserID = WCF::getUser()->userID; 
    106107 
     
    111112                                        throw new UserInputException('previewIMG', 'uploadFailed'); 
    112113                                } 
    113                                 if ($this->previewFile != $this->previewArray['name']) { 
     114                                if ($this->previewFile && $this->previewFile != $this->previewArray['name']) { 
    114115                                        // alten File löschen wenn neuer angegeben wurde  
    115116                                        $dataset->deletePreview($this->previewFile); 
     
    124125 
    125126                        // Delete preview? 
    126                         if ($this->delPreview) { 
    127                                 $dataset->deletePreview($this->previewFile); 
     127                        if ($this->delPreview && $dataset->previewFile) { 
     128                                $dataset->deletePreview($dataset->previewFile); 
    128129                                $this->previewFile = $this->previewIMG = NULL; 
    129130                        }  
     
    186187                                $this->mimeType                 = $dataset->mimeType; 
    187188                        } 
    188                         // Daten endgltig speichern 
     189                        // Daten endgÃŒltig speichern 
    189190                        $dataset->updateDataset(array_merge($this->additionalFields, array( 
    190191                                                        'katID'                 => intval($this->katID), 
     
    249250                                $this->mimeType                 = $data['mimeType']; 
    250251                                $this->link                             = StringUtil::decodeHTML($data['link']); 
    251                                 if (FileUtil::isURL($this->link) == true || $this->link{0} == "/") $this->isExtern = true; 
    252252                                $this->groesse                  = $data['groesse']; 
    253253                                $this->downloads                = $data['downloads']; 
     
    258258                                $this->supportThread    = StringUtil::decodeHTML($data['thread']); 
    259259                                $this->activ                    = $data['activ']; 
     260                                $this->linkType                 = $data['linkType']; 
    260261                                $this->parseURL                 = $data['parseURL']; 
    261262                                $this->enableSmilies    = $data['enableSmilies']; 
  • downloadDatabase/files/lib/acp/form/DownloadDBKatAddForm.class.php

    r668 r715  
    7575                        throw new UserInputException('name', 'empty'); 
    7676                } 
     77                 
    7778                // user gruppen prÃŒfen und array anpassen 
    7879                if (count($this->groupIDs) > 0) { 
  • downloadDatabase/files/lib/acp/form/DownloadDBKatEditForm.class.php

    r589 r715  
    7575        public function validate() { 
    7676                parent::validate(); 
     77                // prÃŒfen ob die Kategorie nicht sich selbst als Unterkategorie zugeordnet ist 
     78                if ($this->katID == $this->topID) { 
     79                        throw new UserInputException('topID', 'invalid'); 
     80                } 
    7781                $this->valid = true; 
    7882        } 
     
    8387        public function save() { 
    8488                if ($this->valid && $this->katID) { 
     89                        // Read old Category data 
     90                        $oldKatData = new DownloadDBKat($this->katID); 
    8591                        if ($this->topID == 0) $this->topID = "NULL"; 
     92                        // Compare topID with other Categorys 
     93                         
     94                        // Wenn topID = neu => zielkategorie prÃŒfen 
     95                        // Wenn ziel Kat topID = katID und neue topID = Ziel katID 
     96                        // Ziel topID = oldTopID 
     97                         
     98                        if ($this->topID != $oldKatData->topID) { 
     99                                $this->kategorien = WCF::getCache()->get('dldbKat'); 
     100                                if ($oldKatData->topID == 0) $oldKatData->topID = "NULL"; 
     101                                foreach ($this->kategorien as $kategorie) { 
     102                                        if ($this->katID == $kategorie['topID'] && $this->topID == $kategorie['katID']) { 
     103                                                $sql = "UPDATE wcf".WCF_N."_dldb_kats 
     104                                                                SET topID = '".$oldKatData->topID."' 
     105                                                                WHERE `katID` = ".$kategorie['katID']; 
     106                                                $row = WCF::getDB()->registerShutdownUpdate($sql); 
     107                                        }  
     108                                } 
     109                        } 
    86110                        $moreData = array( 
    87111                                'parseURL'              => intval($this->parseURL), 
  • downloadDatabase/files/lib/acp/page/DownloadDBDataListPage.class.php

    r526 r715  
    4242                if (isset($_REQUEST['action']))         $this->action   = escapeString($_REQUEST['action']); 
    4343                // detect Data deletion 
    44                 if (isset($_REQUEST['deleteddataID'])) { 
    45                         $this->deleteddataID = intval($_REQUEST['deleteddataID']); 
    46                 } 
     44                if (isset($_REQUEST['deleteddataID'])) $this->deleteddataID = intval($_REQUEST['deleteddataID']); 
    4745        } 
    4846         
  • downloadDatabase/files/lib/data/downloadDB/DownloadDBData.class.php

    r668 r715  
    1919         */ 
    2020        public function __construct($dataID, $row = null) { 
    21                 if ($dataID != null) { 
    22                         $sql = "SELECT  * 
    23                                 FROM    wcf".WCF_N."_dldb_data 
    24                                 WHERE   dataID = ".$dataID; 
     21                if ($dataID !== null) { 
     22                        // select thread and thread subscription, visit and rating  
     23                        $sql = "SELECT          data.*  
     24                                                ".(DOWNLOADDB_ENABLE_RATING ? ", data_rating.rating AS userRating" : "")." 
     25                                FROM            wcf".WCF_N."_dldb_data data 
     26                                ".(DOWNLOADDB_ENABLE_RATING ? " 
     27                                LEFT JOIN       wcf".WCF_N."_dldb_rating data_rating 
     28                                ON              (data_rating.dataID = data.dataID 
     29                                                AND ".(WCF::getUser()->userID ? "data_rating.userID = ".WCF::getUser()->userID : "data_rating.ipAddress = '".escapeString(WCF::getSession()->ipAddress)."'").")" : "")." 
     30                                WHERE           data.dataID = ".$dataID; 
    2531                        $row = WCF::getDB()->getFirstRow($sql); 
    2632                } 
    27                         parent::__construct($row); 
     33                parent::__construct($row); 
    2834        } 
    2935         
     
    4854 
    4955                // delete Preview 
    50                 $this->deletePreview($this->previewFile); 
     56                if ($this->previewFile) $this->deletePreview($this->previewFile); 
    5157 
    5258                // delete database entry 
    5359                $sql = "DELETE FROM     wcf".WCF_N."_dldb_data 
    54                                 WHERE           dataID = ".$this->dataID; 
     60                                WHERE   `dataID` =".$this->dataID; 
    5561                WCF::getDB()->sendQuery($sql); 
    5662 
     63                // delete ratings 
     64                $sql = "DELETE FROM     wcf".WCF_N."_dldb_rating 
     65                                WHERE   `dataID` =".$this->dataID; 
     66                WCF::getDB()->sendQuery($sql); 
     67                 
     68                // delete database log 
     69                $sql = "DELETE FROM     wcf".WCF_N."_dldb_xfer 
     70                                WHERE   `dataID` =".$this->dataID; 
     71                WCF::getDB()->sendQuery($sql); 
     72                 
    5773                // clear Cache 
    5874                $this->resetCache(); 
     
    6581        public function deleteFile($fName) { 
    6682                // delete file 
    67                 if(file_exists(RELATIVE_WCF_DIR.DOWNLOADDB_FILE_DIR . intval($this->dataID) . '_' . StringUtil::encodeHTML($fName))){ 
    68                         @unlink(WCF_DIR.DOWNLOADDB_FILE_DIR . $this->dataID . '_' . $fName); 
     83                if(file_exists(WCF_DIR . DOWNLOADDB_FILE_DIR . intval($this->dataID) . '_' . StringUtil::encodeHTML($fName))){ 
     84                        @unlink(WCF_DIR . DOWNLOADDB_FILE_DIR . $this->dataID . '_' . $fName); 
    6985                } else { 
    7086                        @unlink(WCF_DIR . DOWNLOADDB_FILE_DIR . 'Upload-' .$this->dataID . '.' . $this->fileExtension); 
     
    7894        public function deletePreview($fName) { 
    7995                // delete file 
    80                 if(file_exists(RELATIVE_WCF_DIR.DOWNLOADDB_PREVIEW_DIR . $this->dataID . '_' . $fName)){ 
     96                if(file_exists(WCF_DIR . DOWNLOADDB_PREVIEW_DIR . $this->dataID . '_' . $fName)){ 
    8197                        @unlink(WCF_DIR . DOWNLOADDB_PREVIEW_DIR . $this->dataID . '_' . $fName); 
    8298                        @unlink(WCF_DIR . DOWNLOADDB_PREVIEW_DIR . 'thumbnail-' . $this->dataID . '_' . $fName); 
     
    88104        } 
    89105         
     106        /** 
     107         * Deletes one Logentry. 
     108         * @param  integer $xferID 
     109         */ 
     110        public static function deleteXfer($xferID) { 
     111                // delete file 
     112                // delete database entry 
     113                $sql = "DELETE FROM     wcf".WCF_N."_dldb_xfer 
     114                                WHERE           xferID = ".$xferID; 
     115                WCF::getDB()->sendQuery($sql); 
     116        } 
     117         
    90118        public static function resetCache() { 
    91119                // reset cache 
    92120                WCF::getCache()->clear(WCF_DIR.'cache/', 'cache.dldbData.php'); 
    93121                WCF::getCache()->clear(WCF_DIR.'cache/', 'cache.dldbKat.php'); 
     122        } 
     123 
     124        /** 
     125         * Returns the result of the rating of this download. 
     126         *  
     127         * @return      mixed           result of the rating of this download 
     128         */ 
     129        public function getRating() { 
     130                if ($this->ratings > 0 && $this->ratings >= DOWNLOADDB_MIN_RATINGS) { 
     131                        return $this->rating / $this->ratings; 
     132                } 
     133                return false; 
     134        } 
     135         
     136        /** 
     137         * Gets the download rating result for template output. 
     138         * 
     139         * @return      string          download rating result for template output 
     140         */ 
     141        public function getRatingOutput() { 
     142                $rating = $this->getRating(); 
     143                if ($rating !== false) $roundedRating = round($rating, 0); 
     144                else $roundedRating = 0; 
     145                $description = ''; 
     146                if ($this->ratings > 0) { 
     147                        $description = WCF::getLanguage()->get('wcf.dldb.dataset.rate.description', array('$votes' => StringUtil::formatNumeric($this->ratings), '$vote' => StringUtil::formatNumeric($rating))); 
     148                } 
     149                 
     150                return '<img src="'.RELATIVE_WCF_DIR.'icon/downloadDBRating'.$roundedRating.'.png" class="dldbRatingImage" alt="" title="'.$description.'" />'; 
    94151        } 
    95152 
  • downloadDatabase/files/lib/form/DownloadDBAddDataForm.class.php

    r668 r715  
    4040        public $supportThread = ''; 
    4141        public $activ = 0; 
    42         public $noUpload = false; 
     42        public $linkType = 0; 
    4343        public $languageID = '1'; 
    4444        public $additionalFields = array(); 
     
    8585                if (isset($_POST['supportThread']))     $this->supportThread = escapeString($_POST['supportThread']); 
    8686                if (isset($_POST['languageID']))        $this->languageID       = intval($_POST['languageID']); 
     87                if (isset($_POST['linkType']))          $this->linkType         = intval($_POST['linkType']); 
    8788                // for File Upload 
    8889                if (isset($_FILES['upload']))           $this->upload           = $_FILES['upload']; 
     
    9798         */ 
    9899        public function validate() { 
     100 
    99101                // prÃŒfen ob ein Titel eingegeben wurde 
    100102                if (empty($this->name)) { 
    101103                        throw new UserInputException('name', 'empty'); 
    102104                } 
    103                 // prÃŒfen ob ein Upload angegeben wurde 
    104                 if (($this->upload['error'] == 4) && ($this->action == 'add') && !$this->link) { 
     105                 
     106                // prÃŒfen ob ein Upload eingegeben wurde 
     107                if ($this->linkType == 0 && empty($this->upload) && $this->action == "add") { 
    105108                        throw new UserInputException('upload', 'empty'); 
    106109                } 
    107                 // prÃŒfen ob ein Link eingegeben wurde 
    108                 if (empty($this->upload) && empty($this->link)) { 
    109                         throw new UserInputException('link', 'empty'); 
    110                 } 
    111                 // Only if Action = add 
    112                 if ($this->action == 'add') { 
    113                         // prÃŒfen ob ein gÃŒltiger externer Link eingegeben wurde 
    114                         if ($this->link && (FileUtil::isURL($this->link) == false)) { 
    115                                 throw new UserInputException('link', 'badFile'); 
    116                         }  
    117                         // prÃŒfen ob ein Link UND File angegeben wurden 
    118                         if ($this->link && ($this->upload && $this->upload['error'] != 4)) { 
     110                 
     111                // prÃŒfen ob ein relativer Pfad eingegeben wurde 
     112                if ($this->linkType == 1 && $this->link && (FileUtil::isURL($this->link) == false)) { 
     113                        if ($this->link{0} == "/"){ 
     114                                if (@fopen($_SERVER['DOCUMENT_ROOT'].$this->link,'rb') == false) { 
     115                                        throw new UserInputException('link', 'badFile'); 
     116                                } 
     117                        } else { 
    119118                                throw new UserInputException('link', 'invalid'); 
    120119                        } 
    121                 } 
     120                }  
     121                // prÃŒfen ob ein externer Link eingegeben wurde 
     122                if ($this->linkType == 2 && $this->link && (FileUtil::isURL($this->link) == false)) { 
     123                                throw new UserInputException('link', 'invalid'); 
     124                }  
     125 
    122126                $this->valid = true; 
    123127        } 
     
    127131         */ 
    128132        public function save() { 
     133                parent::save(); 
    129134                //Create new Dataset with FileUpload  
    130135                if ($this->valid && $this->action == 'add'){ 
     
    135140                        } 
    136141                        // upload File if given 
    137                         if (!$this->link) { 
     142                        if ($this->linkType == 0) { 
    138143                                if ($this->upload && $this->upload['error'] != 4) { 
    139144                                        if ($this->upload['error'] != 0) { 
     
    146151                                        throw new UserInputException('upload'); 
    147152                                } 
    148                         } else { 
    149                                 // 
     153                        }  
     154                        if ($this->linkType == 2) { 
     155                                $this->fileName = $this->fileExtension = NULL; 
    150156                        } 
    151157                        // check for Preview File 
     
    194200                                                        'thread'                => $this->supportThread, 
    195201                                                        'activ'                 => $this->activ, 
     202                                                        'linkType'              => intval($this->linkType), 
    196203                                                        'parseURL'              => intval($this->parseURL), 
    197204                                                        'enableBBCodes' => intval($this->enableBBCodes), 
     
    216223                                                        'thread'                => $this->supportThread, 
    217224                                                        'activ'                 => $this->activ, 
    218                                                         'parseURL'              => intval($this->parseURL), 
     225                                                        'linkType'              => intval($this->linkType), 
     226                                                        'parseURL'              => intval($this->parseURL), 
    219227                                                        'enableBBCodes' => intval($this->enableBBCodes), 
    220228                                                        'enableHtml'    => intval($this->enableHtml), 
     
    253261                                $mail->send(); 
    254262                        } 
    255                 } 
    256                 parent::save(); 
    257                 // reset values 
    258                 $this->name = $this->description = $this->link = $this->supportThread = NULL; 
    259                 $this->fileName = $this->fileExtension = $this->mimeType = NULL; 
    260                 $this->previewFile = $this->previewIMG = NULL; 
    261                 $this->groesse = $this->downloads = 0; 
    262                 $this->sortOrder = $this->languageID = 1; 
    263                 // reset cache 
    264                 WCF::getCache()->clear(WCF_DIR.'cache/', 'cache.dldbKat.php'); 
    265                 WCF::getCache()->clear(WCF_DIR.'cache/', 'cache.dldbData.php'); 
    266                 $this->saved(); 
    267                 // forward to Kat-View page 
    268                 WCF::getTPL()->assign(array( 
    269                         'url' => 'index.php?page=DownloadDBView&katID='.$this->katID.SID_ARG_1ST, 
    270                         'message' => WCF::getLanguage()->get('wcf.acp.dldb.add.success') 
    271                 )); 
    272                 WCF::getTPL()->display('redirect'); 
    273                 exit; 
     263                        // reset values 
     264                        $this->name = $this->description = $this->link = $this->supportThread = NULL; 
     265                        $this->fileName = $this->fileExtension = $this->mimeType = NULL; 
     266                        $this->previewFile = $this->previewIMG = NULL; 
     267                        $this->groesse = $this->downloads = $this->linkType = 0; 
     268                        $this->sortOrder = $this->languageID = 1; 
     269                        $this->additionalFields = array(); 
     270                        // reset cache 
     271                        WCF::getCache()->clear(WCF_DIR.'cache/', 'cache.dldbKat.php'); 
     272                        WCF::getCache()->clear(WCF_DIR.'cache/', 'cache.dldbData.php'); 
     273                        $this->saved(); 
     274                        // forward to Kat-View page 
     275                        WCF::getTPL()->assign(array( 
     276                                'url' => 'index.php?page=DownloadDBView&katID='.$this->katID.SID_ARG_1ST, 
     277                                'message' => WCF::getLanguage()->get('wcf.acp.dldb.add.success') 
     278                        )); 
     279                        WCF::getTPL()->display('redirect'); 
     280                        exit; 
     281                } 
    274282        } 
    275283         
     
    337345                                'supportThread' => $this->supportThread, 
    338346                                'activ'                 => $this->activ, 
     347                                'linkType'              => $this->linkType, 
    339348                                'action'                => 'add', 
    340349                                'previewExtensions' => DOWNLOADDB_ALLOWED_PREVIEW_EXT, 
     
    343352                                'nutzeWYSIWYG'  => WCF::getUser()->nutzeWYSIWYG, 
    344353                                'canUseBBCodes' => WCF::getUser()->getPermission('user.'.$this->permissionType.'.canUseBBCodes'), 
    345                                 'noUpload'              => $this->noUpload, 
    346354                                'languageID'    => $this->languageID, 
    347355                                'language'              => $languageArray 
  • downloadDatabase/files/lib/form/DownloadDBEditDataForm.class.php

    r668 r715  
    102102         */ 
    103103        public function save() { 
     104                parent::save(); 
    104105                if ($this->valid && $this->dataID) { 
    105106                        $dataset = new DownloadDBDataEditor($this->dataID); 
     
    117118                                        throw new UserInputException('previewIMG', 'uploadFailed'); 
    118119                                } 
    119                                 if ($this->previewFile != $this->previewArray['name']) { 
    120                                         // alten File löschen wenn neuer angegeben wurde 
     120                                if ($this->previewFile && $this->previewFile != $this->previewArray['name']) { 
     121                                        // alten File löschen wenn vorhanden 
    121122                                        $dataset->deletePreview($this->previewFile); 
    122123                                } 
     
    129130                        } 
    130131                        // Delete preview? 
    131                         if ($this->delPreview) { 
    132                                 $dataset->deletePreview($this->previewFile); 
     132                        if ($dataset->previewFile && $this->delPreview) { 
     133                                $dataset->deletePreview($dataset->previewFile); 
    133134                                $this->previewFile = $this->previewIMG = NULL; 
    134135                        }  
     
    152153                                $this->link = FileUtil::getRealPath(RELATIVE_WCF_DIR.DOWNLOADDB_FILE_DIR.'Upload-'.intval($dataset->dataID).'.'.$this->fileExtension); 
    153154                        } 
    154 //                      if (!$upld && $this->link && ($this->link != escapeString($dataset->link))) { 
    155 //                                      if (StringUtil::indexOf($this->link, '/') !== false) { 
    156 //                                              $this->fileName = StringUtil::substring($this->link, StringUtil::lastIndexOf($this->link, '/') + 1); 
    157 //                                      } 
    158 //                                      if (StringUtil::indexOf($this->fileName, '.') !== false) { 
    159 //                                              $this->fileExtension = StringUtil::toLowerCase(StringUtil::substring($this->fileName, StringUtil::lastIndexOf($this->fileName, '.') + 1)); 
    160 //                                      } 
    161 //                                      $this->groesse = @filesize($this->link); 
    162 //                      } 
     155                        if (!$upld && $this->link && ($this->link != escapeString($dataset->link))) { 
     156                                if (FileUtil::isURL($this->link) == false) { 
     157                                        if ($this->link{0} == "/"){ 
     158                                                if (StringUtil::indexOf($_SERVER['DOCUMENT_ROOT'].$this->link, '/') !== false) { 
     159                                                        $this->fileName = StringUtil::substring($_SERVER['DOCUMENT_ROOT'].$this->link, StringUtil::lastIndexOf($_SERVER['DOCUMENT_ROOT'].$this->link, '/') + 1); 
     160                                                } 
     161                                                if (StringUtil::indexOf($this->fileName, '.') !== false) { 
     162                                                        $this->fileExtension = StringUtil::toLowerCase(StringUtil::substring($this->fileName, StringUtil::lastIndexOf($this->fileName, '.') + 1)); 
     163                                                } 
     164                                                $this->groesse = @filesize($_SERVER['DOCUMENT_ROOT'].$this->link); 
     165                                                $this->mimeType = ''; 
     166// Funktioniert nur wenn "fileinfo" in php aktiviert ist!!  
     167//                                              $finfo = @finfo_open(FILEINFO_MIME); // return mime type ala mimetype extension 
     168//                                              $this->mimeType = finfo_file($finfo, $_SERVER['DOCUMENT_ROOT'].$this->link); 
     169// daher ist $mimeType = ''; 
     170                                        } else { 
     171                                                if (StringUtil::indexOf($this->link, '/') !== false) { 
     172                                                        $this->fileName = StringUtil::substring($this->link, StringUtil::lastIndexOf($this->link, '/') + 1); 
     173                                                } 
     174                                                if (StringUtil::indexOf($this->fileName, '.') !== false) { 
     175                                                        $this->fileExtension = StringUtil::toLowerCase(StringUtil::substring($this->fileName, StringUtil::lastIndexOf($this->fileName, '.') + 1)); 
     176                                                } 
     177                                                $this->groesse = @filesize($this->link); 
     178                                                $this->mimeType = ''; 
     179// Funktioniert nur wenn "fileinfo" in php aktiviert ist!!  
     180//                                              $finfo = @finfo_open(FILEINFO_MIME); // return mime type ala mimetype extension 
     181//                                              $this->mimeType = finfo_file($finfo, $this->link); 
     182// daher ist $mimeType = ''; 
     183                                        } 
     184                                } else { 
     185                                        $this->fileName = $this->fileExtension = $this->mimeType = NULL; 
     186                                } 
     187                        } else { 
     188                                $this->link                     = $dataset->link; 
     189                                $this->fileName                 = $dataset->fileName; 
     190                                $this->fileExtension    = $dataset->fileExtension; 
     191                                $this->mimeType                 = $dataset->mimeType; 
     192                        } 
    163193                        // Daten endgÃŒltig speichern 
    164194                        $dataset->updateDataset(array_merge($this->additionalFields, array( 
     
    212242                        // reset cache 
    213243                        WCF::getCache()->clear(WCF_DIR.'cache/', 'cache.dldbKat.php'); 
     244                        // ready 
    214245                        $this->saved(); 
    215246                        // forward to Cat-View page 
     
    249280                                        $this->mimeType                 = $data['mimeType']; 
    250281                                        $this->link                             = StringUtil::decodeHTML($data['link']); 
    251                                         if (FileUtil::isURL($this->link) == true || $this->link{0} == "/") $this->noUpload = true; 
    252282                                        $this->groesse                  = $data['groesse']; 
    253283                                        $this->downloads                = $data['downloads']; 
     
    258288                                        $this->supportThread    = StringUtil::decodeHTML($data['thread']); 
    259289                                        $this->activ                    = $data['activ']; 
     290                                        $this->linkType                 = $data['linkType']; 
    260291                                        $this->parseURL                 = $data['parseURL']; 
    261292                                        $this->enableSmilies    = $data['enableSmilies']; 
  • downloadDatabase/files/lib/form/DownloadDBSearchForm.class.php

    r431 r715  
    9494                $sql = "INSERT INTO     wcf".WCF_N."_search 
    9595                                        (userID, searchData, searchDate, searchType) 
    96                                 VALUES          (".WCF::getUser()->userID.", 
     96                                VALUES 
     97                                        (".WCF::getUser()->userID.", 
    9798                                        '".escapeString(serialize($this->searchData))."', 
    9899                                        ".TIME_NOW.", 
  • downloadDatabase/files/lib/page/DownloadDBDataPage.class.php

    r668 r715  
    3737                        exit; 
    3838                } 
     39                $this->dldbData = new DownloadDBData($this->dataID); 
     40                 
     41                // open cache 
    3942                WCF::getCache()->addResource('dldbData', 
    4043                        WCF_DIR.'cache/cache.dldbData.php', 
    4144                        WCF_DIR.'lib/system/cache/CacheBuilderDLDBData.class.php'); 
     45                // handle ratings 
     46                $this->handleRating(); 
    4247        } 
    4348 
    4449        public function readData() { 
    4550                parent::readData(); 
    46                         $this->readDaten(); 
     51                // read Data 
     52                $this->readDaten(); 
    4753        } 
    4854         
     
    7177                                'dataID' => $this->dataID, 
    7278                                'daten'  => $this->daten, 
     79                                'dldbData'  => $this->dldbData, 
    7380                                'languageArray' => $languageArray 
    7481                        )); 
     
    116123                                        if (@fopen(FileUtil::getRealPath(RELATIVE_WCF_DIR.DOWNLOADDB_PREVIEW_DIR.'thumbnail-'.$this->dataID.'.'.$ext),'rb') == false) { 
    117124                                                // make thumbnail 
    118                                                 $thumb = new Thumbnail(WCF_DIR.DOWNLOADDB_PREVIEW_DIR.'Preview-'.$this->dataID.'.'.$ext, DOWNLOADDB_PREVIEW_WIDTH, DOWNLOADDB_PREVIEW_HIGHT); 
     125                                                $thumb = new Thumbnail(FileUtil::getRealPath(RELATIVE_WCF_DIR.DOWNLOADDB_PREVIEW_DIR.'Preview-'.$this->dataID.'.'.$ext), DOWNLOADDB_PREVIEW_WIDTH, DOWNLOADDB_PREVIEW_HIGHT); 
    119126                                                 
    120127                                                // get thumbnail 
     
    154161         * @see ViewablePost::getFormattedMessage() 
    155162         */ 
    156         protected function getFormattedMessage($text, $enableSmilies = true, $enableHtml = false, $enableBBCodes = true, $parseURL = true) { 
     163        public function getFormattedMessage($text, $enableSmilies = true, $enableHtml = false, $enableBBCodes = true, $parseURL = true) { 
    157164                if ($parseURL == 1) { 
    158165                        require_once(WCF_DIR.'lib/data/message/bbcode/URLParser.class.php'); 
     
    164171        } 
    165172         
     173        /** 
     174         * Handles a rating request on this download. 
     175         */ 
     176        public function handleRating() { 
     177                if (isset($_POST['rating'])) { 
     178                        $rating = intval($_POST['rating']); 
     179                         
     180                        // rating is disabled 
     181                        if (!DOWNLOADDB_ENABLE_RATING) { 
     182                                require_once(WCF_DIR.'lib/system/exception/IllegalLinkException.class.php'); 
     183                                throw new IllegalLinkException(); 
     184                        } 
     185                         
     186                        // user has already rated this Download and the rating is NOT changeable 
     187                        if ($this->dldbData->userRating !== null && !$this->dldbData->userRating) { 
     188                                require_once(WCF_DIR.'lib/system/exception/IllegalLinkException.class.php'); 
     189                                throw new IllegalLinkException(); 
     190                        } 
     191                         
     192                        // user has no permission to rate this Download 
     193                        if (!WCF::getUser()->getPermission('user.dldb.canRateDownload')) { 
     194                                require_once(WCF_DIR.'lib/system/exception/IllegalLinkException.class.php'); 
     195                                throw new IllegalLinkException(); 
     196                        } 
     197                         
     198                        // illegal rating 
     199                        if ($rating < 1 || $rating > 10) { 
     200                                require_once(WCF_DIR.'lib/system/exception/IllegalLinkException.class.php'); 
     201                                throw new IllegalLinkException(); 
     202                        } 
     203                        // user has already rated this Download and the rating is changeable 
     204                        // change rating 
     205                        if ($this->dldbData->userRating) { 
     206                                $sql = "UPDATE  wcf".WCF_N."_dldb_rating 
     207                                                SET     rating = ".$rating." 
     208                                                WHERE   dataID = ".$this->dataID." 
     209                                                AND ".(WCF::getUser()->userID ? "userID = ".WCF::getUser()->userID : "ipAddress = '".escapeString(WCF::getSession()->ipAddress)."'"); 
     210                                WCF::getDB()->registerShutdownUpdate($sql); 
     211                                                                 
     212                                $sql = "UPDATE  wcf".WCF_N."_dldb_data 
     213                                                SET     rating = (rating + ".$rating.") - ".$this->dldbData->userRating." 
     214                                                WHERE   dataID = ".$this->dataID; 
     215                                WCF::getDB()->registerShutdownUpdate($sql); 
     216                        } 
     217                        // insert new rating 
     218                        else { 
     219                                $sql = "INSERT INTO     wcf".WCF_N."_dldb_rating 
     220                                                        (dataID, rating, userID, ipAddress) 
     221                                                VALUES           
     222                                                        (".$this->dataID.", 
     223                                                        ".$rating.", 
     224                                                        ".WCF::getUser()->userID.", 
     225                                                        '".escapeString(WCF::getSession()->ipAddress)."')"; 
     226                                WCF::getDB()->registerShutdownUpdate($sql); 
     227                                                                 
     228                                $sql = "UPDATE  wcf".WCF_N."_dldb_data 
     229                                                SET     ratings = ratings + 1, 
     230                                                                rating = rating + ".$rating." 
     231                                                WHERE   dataID = ".$this->dataID; 
     232                                WCF::getDB()->registerShutdownUpdate($sql); 
     233                        } 
     234                         
     235                        HeaderUtil::redirect('index.php?page=DownloadDBData&dataID='.$this->dataID.SID_ARG_2ND_NOT_ENCODED); 
     236                        exit; 
     237                } 
     238        } 
    166239} 
    167240?> 
  • downloadDatabase/files/lib/page/DownloadDBFileDownloadPage.class.php

    r453 r715  
    1717         
    1818        public $dataID; 
     19        public $katID; 
    1920        private $fileName; 
    2021        private $fileType; 
     22        private $linkType; 
    2123        private $link; 
    2224         
     
    4446        public function show() { 
    4547                $this->readDaten(); 
     48                 
    4649                // Anzahl der Downloads erhöhen 
    4750                $sql = "UPDATE wcf".WCF_N."_dldb_data 
     
    4952                                WHERE `dataID` = ".$this->dataID; 
    5053                $row = WCF::getDB()->registerShutdownUpdate($sql); 
     54 
     55                // Download-Log speichern 
     56                if (DOWNLOADDB_LOG) { 
     57                        if (!WCF::getUser()->userID &&  DOWNLOADDB_LOG_GUESTS)          $this->xferSave(); 
     58                        if ( WCF::getUser()->userID && !DOWNLOADDB_LOG_ONLY_GUESTS) $this->xferSave(); 
     59                } 
     60                 
    5161                // reset cache 
    5262                WCF::getCache()->clear(WCF_DIR.'cache/', 'cache.dldbData.php'); 
     63 
    5364                // Link entschlÃŒsseln 
    54                 if (FileUtil::isURL($this->link)) { 
     65                if ($this->linkType == 0) { 
     66                        // Es liegt ein Upload vor. 
     67                        $dataset = new downloadDBDataEditor($this->dataID); 
     68                        $link = FileUtil::getRealPath(RELATIVE_WCF_DIR.$dataset->getURL()); 
     69                        $type = $this->fileType; 
     70                } 
     71                if ($this->linkType == 1) { 
     72                        // Es liegt eine lokale Datei vor        
     73                        $link = $_SERVER['DOCUMENT_ROOT'].$this->link; 
     74                        $type = $this->fileType; 
     75                }  
     76                if ($this->linkType == 2) { 
    5577                        // Link ist eine URL 
    5678                        HeaderUtil::redirect($this->link,false); 
    5779                        exit; 
    5880                } 
    59                 // Link ist ein rekativer Pfad 
    60                 if ($this->link{0} == "/"){ 
    61                         // Link bekinnt mit /            
    62                         $link = $_SERVER['DOCUMENT_ROOT'].$this->link; 
    63                         $type = $this->fileType; 
    64                 } else { 
    65                         // Link ist ein Upload, beginnt mit ../ 
    66                         $dataset = new downloadDBDataEditor($this->dataID); 
    67                         $link = FileUtil::getRealPath(RELATIVE_WCF_DIR.$dataset->getURL()); 
    68                         $type = $this->fileType; 
    69                 } 
     81                 
    7082                // Set Download Infos 
    7183                @ header('Content-Description: File Transfer'); 
     
    8496                foreach ($data as $daten) { 
    8597                        if ($daten['dataID'] == $this->dataID) { 
     98                                $this->linkType = $daten['linkType']; 
    8699                                $this->fileType = $daten['mimeType']; 
    87100                                $this->fileName = $daten['fileName']; 
    88101                                $this->link             = $daten['link']; 
     102                                $this->katID    = $daten['katID']; 
    89103                                // Kontrolle der Zugangsberechtigung; 
    90104                                $IDs = explode(',',$daten['groupcheck']); 
     
    102116                } 
    103117        } 
     118         
     119        protected function xferSave() { 
     120                $sql = "INSERT INTO wcf".WCF_N."_dldb_xfer 
     121                                        (`dataID`, `katID`, `userID`, `ipadress`, `time`) 
     122                                VALUES 
     123                                        ('".intval($this->dataID)."', 
     124                                         '".intval($this->katID)."', 
     125                                         '".WCF::getUser()->userID."', 
     126                                         '".escapeString(WCF::getSession()->ipAddress)."', 
     127                                         '".TIME_NOW."' 
     128                                         )"; 
     129                WCF::getDB()->sendQuery($sql); 
     130        } 
    104131} 
    105132?> 
  • downloadDatabase/files/lib/page/DownloadDBViewPage.class.php

    r668 r715  
    3434        public $itemsPerPage = DOWNLOADDB_VIEW_MAX_DATA; 
    3535        public $defaultSortField = DOWNLOADDB_SORTORDER; 
     36        public $sortOrder = DOWNLOADDB_SORTORDER_DIR; 
    3637         
    3738        /** 
     
    5556        public function validateSortField() { 
    5657                parent::validateSortField(); 
    57  
    5858                switch ($this->sortField) { 
    5959                        case 'name': 
     
    6666         
    6767        public function readData() { 
    68                 parent::readData(); 
    6968                // Cache lesen 
    7069                $this->katCache = WCF::getCache()->get('dldbKat'); 
     70                parent::readData(); 
    7171                // Zugriff auf die Kategorie prÃŒfen 
    7272                foreach ($this->katCache as $kategorie) { 
     
    175175                        $this->kategorien[] = $kategorie; 
    176176                        if ($kategorie['canViewCat']) { 
    177                                 $this->katJump[$kategorie['katID']] = "&nbsp;&nbsp;&nbsp;&nbsp;".$kategorie['name']; 
     177                                $this->katJump[$kategorie['katID']] = "&nbsp;&nbsp;&nbsp;&nbsp;".WCF::getLanguage()->get(StringUtil::encodeHTML($kategorie['name'])); 
    178178                        } 
    179179                } 
  • downloadDatabase/files/style/downloadDB.css

    r548 r715  
    117117/* ### -- -- -- -- -- Daten List -- -- -- -- -- ### */ 
    118118 
     119/* Rating */ 
     120.dldbRatingOutput { 
     121        background-image: url("../icon/downloadDBRatingBG.png"); 
     122        background-repeat: no-repeat; 
     123        background-position: left top; 
     124        vertical-align: text-top; 
     125        height:12px; 
     126        width: 102px; 
     127} 
     128 
     129.dldbRatingImage { 
     130        vertical-align: text-top; 
     131        border: 0; 
     132        height:12px; 
     133        width: 102px; 
     134} 
     135 
    119136/* Icons */ 
    120137.tableList td.dldbColumnIcon {  
  • downloadDatabase/templates/downloadDBTopDown.tpl

    r542 r715  
    3232                                                        </td> 
    3333                                                        <td class="dldbColumnImage"> 
    34                                                                 <a class="datenLink{@$topf.dataID}" href="index.php?page=DownloadDBData&amp;dataID={@$topf.dataID}{@SID_ARG_2ND}">{@$topf.name|filterjs}</a> 
     34                                                                <a class="datenLink{@$topf.dataID}" href="index.php?page=DownloadDBData&amp;dataID={@$topf.dataID}{@SID_ARG_2ND}">{lang}{@$topf.name|filterjs}{/lang}</a> 
    3535                                                        </td> 
    36                                                         <td class="dldbColumnMarkContent">{@$topf.description|filterjs}</td> 
     36                                                        <td class="dldbColumnMarkContent">{lang}{@$topf.description|filterjs}{/lang}</td> 
    3737                                                        <td class="dldbColumnDownload">{@$topf.downloads}</td> 
    3838                                                </tr> 
  • downloadDatabase/templates/downloadDBTopNew.tpl

    r542 r715  
    3232                                                        </td> 
    3333                                                        <td class="dldbColumnImage"> 
    34                                                                 <a class="datenLink{@$news.dataID}" href="index.php?page=DownloadDBData&amp;dataID={@$news.dataID}{@SID_ARG_2ND}">{@$news.name|filterjs}</a> 
     34                                                                <a class="datenLink{@$news.dataID}" href="index.php?page=DownloadDBData&amp;dataID={@$news.dataID}{@SID_ARG_2ND}">{lang}{@$news.name|filterjs}{/lang}</a> 
    3535                                                        </td> 
    36                                                         <td class="dldbColumnMarkContent">{@$news.description|filterjs}</td> 
     36                                                        <td class="dldbColumnMarkContent">{lang}{@$news.description|filterjs}{/lang}</td> 
    3737                                                        <td class="dldbColumnDatum">{@$news.datum|date}</td> 
    3838                                                </tr> 
  • downloadDatabase/templates/downloadDBUserUploadData.tpl

    r668 r715  
    1111        <script type="text/javascript" src="{@RELATIVE_WCF_DIR}js/ImageResizer.class.js"></script> 
    1212        <script type="text/javascript" src="{@RELATIVE_WCF_DIR}js/TabbedPane.class.js"></script> 
     13        <script type="text/javascript" src="{@RELATIVE_WCF_DIR}acp/js/default.js"></script> 
    1314        {if $canUseBBCodes}{include file="wysiwyg"}{/if} 
     15        <script type="text/javascript"> 
     16                //<![CDATA[ 
     17                function setLinkType(newType) { 
     18                        switch (newType) { 
     19                                case 0: 
     20                                        hideOptions('linkDiv', 'groesseDiv'); 
     21                                        showOptions('uploadDiv'); 
     22                                        break; 
     23                                case 1: 
     24                                        hideOptions('groesseDiv','uploadDiv'); 
     25                                        showOptions('linkDiv'); 
     26                                        break; 
     27                                case 2: 
     28                                        hideOptions('uploadDiv'); 
     29                                        showOptions('linkDiv', 'groesseDiv'); 
     30                                        break; 
     31                        } 
     32                } 
     33                onloadEvents.push(function() { setLinkType({@$linkType}); }); 
     34                //]]> 
     35        </script> 
    1436</head> 
    1537<body> 
     
    204226                                        <fieldset> 
    205227                                        <legend>{lang}wcf.dldb.data.settings{/lang}</legend> 
    206                                                 {if $action == 'add' || $mimeType != ''} 
     228                                                {if $action == 'add'} 
     229                                                        <div class="formElement" id="linkType"> 
     230                                                                <ul class="formOptions"> 
     231                                                                        <li><label><input onclick="if (IS_SAFARI) setLinkType(0)" onfocus="setLinkType(0)" type="radio" name="linkType" value="0" {if $linkType == 0}checked="checked" {/if}/> {lang}wcf.acp.dldb.data.uploadLink{/lang}</label></li> 
     232                                                                        {if $this->user->getPermission('user.dldb.canLinkFile')} 
     233                                                                                <li><label><input onclick="if (IS_SAFARI) setLinkType(2)" onfocus="setLinkType(2)" type="radio" name="linkType" value="2" {if $linkType == 2}checked="checked" {/if}/> {lang}wcf.acp.dldb.data.externLink{/lang}</label></li> 
     234                                                                        {/if} 
     235                                                                </ul> 
     236                                                        </div> 
     237                                                {else} 
     238                                                        <div class="formElement" id="linkType"> 
     239                                                                <ul class="formOptions"> 
     240                                                                        {if $linkType == 0}<li><label><input onclick="if (IS_SAFARI) setLinkType(0)" onfocus="setLinkType(0)" type="radio" name="linkType" value="0" {if $linkType == 0}checked="checked" {/if}/> {lang}wcf.acp.dldb.data.uploadLink{/lang}</label></li>{/if} 
     241                                                                        {if $linkType == 1}<li><label><input onclick="if (IS_SAFARI) setLinkType(1)" onfocus="setLinkType(1)" type="radio" name="linkType" value="1" {if $linkType == 1}checked="checked" {/if}/> {lang}wcf.acp.dldb.data.internLink{/lang}</label></li>{/if} 
     242                                                                        {if $linkType == 2}<li><label><input onclick="if (IS_SAFARI) setLinkType(2)" onfocus="setLinkType(2)" type="radio" name="linkType" value="2" {if $linkType == 2}checked="checked" {/if}/> {lang}wcf.acp.dldb.data.externLink{/lang}</label></li>{/if} 
     243                                                                </ul> 
     244                                                        </div> 
     245                                                {/if} 
    207246                                                <div class="formElement{if $errorField == 'upload'} formError{/if}" id="uploadDiv"> 
    208247                                                        <div class="formFieldLabel"> 
     
    239278                                                        </div> 
    240279                                                </div> 
    241                                                 {/if} 
    242                                                 {if $this->user->getPermission('user.dldb.canLinkFile')} 
    243                                                         <div class="formElement{if $errorField == 'link'} formError{/if}" id="linkDiv"> 
    244                                                                 <div class="formFieldLabel"> 
    245                                                                         <label for="link">{lang}wcf.dldb.data.link{/lang}</label> 
    246                                                                 </div> 
    247                                                                 <div class="formField"> 
    248                                                                         <input {if !$noUpload && $action == 'edit'}readonly {/if}type="text" class="inputText" id="link" name="link" value="{$link}" /> 
    249                                                                         {if $errorField == 'link'} 
    250                                                                                 <p class="innerError"> 
    251                                                                                         {if $errorType == 'badFile'}{lang}wcf.acp.dldb.data.error.badFile{/lang}{/if} 
    252                                                                                         {if $errorType == 'empty'}{lang}wcf.global.error.empty{/lang}{/if} 
    253                                                                                         {if $errorType == 'invalid'}{lang}wcf.acp.dldb.data.error.linkANDfile{/lang}{/if} 
    254                                                                                 </p> 
    255                                                                         {/if} 
    256                                                                 </div> 
    257                                                                 <div class="formFieldDesc"> 
    258                                                                         {lang}wcf.dldb.data.link.description{/lang} 
    259                                                                 </div> 
    260                                                         </div> 
    261                                                 {/if} 
     280                                                <div class="formElement{if $errorField == 'link'} formError{/if}" id="linkDiv"> 
     281                                                        <div class="formFieldLabel"> 
     282                                                                <label for="link">{lang}wcf.dldb.data.link{/lang}</label> 
     283                                                        </div> 
     284                                                        <div class="formField"> 
     285                                                                <input type="text" class="inputText" id="link" name="link" value="{$link}" /> 
     286                                                                {if $errorField == 'link'} 
     287                                                                        <p class="innerError"> 
     288                                                                                {if $errorType == 'badFile'}{lang}wcf.acp.dldb.data.error.badFile{/lang}{/if} 
     289                                                                                {if $errorType == 'empty'}{lang}wcf.global.error.empty{/lang}{/if} 
     290                                                                                {if $errorType == 'invalid'}{lang}wcf.acp.dldb.data.error.linkANDfile{/lang}{/if} 
     291                                                                        </p> 
     292                                                                {/if} 
     293                                                        </div> 
     294                                                        <div class="formFieldDesc"> 
     295                                                                {lang}wcf.dldb.data.link.description{/lang} 
     296                                                        </div> 
     297                                                </div> 
     298                                                <div class="formElement" id="groesseDiv"> 
     299                                                        <div class="formFieldLabel"> 
     300                                                                <label for="groesse">{lang}wcf.acp.dldb.data.groesse{/lang}</label> 
     301                                                        </div> 
     302                                                        <div class="formField"> 
     303                                                                <input {if $fileName}readonly {/if}type="text" class="inputText" id="groesse" name="groesse" value="{$groesse}" /> 
     304                                                        </div> 
     305                                                        <div class="formFieldDesc" id="supportThreadHelpMessage"> 
     306                                                                {lang}wcf.acp.dldb.data.groesse.description{/lang} 
     307                                                        </div> 
     308                                                </div> 
    262309                                                {if $action == 'edit'} 
    263                                                         <div class="formElement" id="groesseDiv"> 
    264                                                                 <div class="formFieldLabel"> 
    265                                                                         <label for="groesse">{lang}wcf.acp.dldb.data.groesse{/lang}</label> 
    266                                                                 </div> 
    267                                                                 <div class="formField"> 
    268                                                                         <input {if $fileName}readonly {/if}type="text" class="inputText" id="groesse" name="groesse" value="{$groesse}" /> 
    269                                                                 </div> 
    270                                                         </div> 
    271310                                                        <div class="formElement"> 
    272311                                                                <div class="formFieldLabel"> 
  • downloadDatabase/templates/downloadDBViewData.tpl

    r668 r715  
    3333                <div class="headlineContainer"> 
    3434                        <h2>{if $daten|count > 0 && $daten.canViewCat == true}<span>{lang}{@$daten.name|filterjs}{/lang}</span>{/if}</h2> 
    35                         <h6>{lang}wcf.dldb.dataset.title{/lang}</h6> 
     35                        {if DOWNLOADDB_ENABLE_RATING && $dldbData->ratings > 0}<div class="dldbRatingOutput">{@$dldbData->getRatingOutput()}</div>{/if} 
    3636                </div> 
    3737        </div> 
     
    3939        {if $userMessages|isset}{@$userMessages}{/if} 
    4040 
    41         {if $data.additionalDLDBMessage|isset}{@$data.additionalDLDBMessage}{/if} 
     41        {if $additionalDLDBMessage|isset}{@$additionalDLDBMessage}{/if} 
    4242 
    4343        {if $daten|count > 0 && $daten.canViewCat == true} 
     
    4646                        <div class="largeButtons"> 
    4747                                {if $daten.dldbUserID == $this->user->userID} 
    48                                         {if $this->user->getPermission('user.dldb.canEditOwnFile')} 
     48                                        {if $this->user->getPermission('user.dldb.canEditOwnFile') || $this->user->getPermission('admin.dldb.canEditData')} 
    4949                                                <ul> 
    5050                                                        <li> 
     
    5353                                                </ul> 
    5454                                        {/if} 
    55                                         {if $this->user->getPermission('user.dldb.canDeleteOwnFile')} 
     55                                        {if $this->user->getPermission('user.dldb.canDeleteOwnFile') || $this->user->getPermission('admin.dldb.canDeleteData')} 
    5656                                                <ul> 
    5757                                                        <li> 
     
    7575                                                {/if} 
    7676                                        {/foreach} 
    77                                         <span>{@$daten.name|filterjs}</span> 
     77                                        <span>{lang}{@$daten.name|filterjs}{/lang}</span> 
    7878                                </div> 
    7979                        </div> 
     
    8181                                <div class="container-1" id="dataname"> 
    8282                                        <div class="containerContent"> 
    83                                                 {@$daten.description|filterjs} 
     83                                                {lang}{@$daten.description|filterjs}{/lang} 
    8484                                        </div> 
    8585                                </div> 
     
    8787                </div> 
    8888 
    89                 {if $data.additionalDLDBHeadline|isset}{@$data.additionalDLDBHeadline}{/if} 
     89                {if $additionalDLDBHeadline|isset}{@$additionalDLDBHeadline}{/if} 
    9090                 
    9191                <!-- "Main-Data-Page" zweispaltiges Layout --> 
     
    9494                                <!-- "Mitte" --> 
    9595                            <div class="dldbmiddle" id="mitte"> 
    96                                         {if $daten.fileName} 
     96                                        {if $additionalDLDBUpperBox|isset}{@$additionalDLDBUpperBox}{/if} 
     97                                        {if $daten.fileName || $daten.mimeType || $daten.groesse || $additionalDLDBFileBoxField|isset} 
    9798                                                <div class="border"> 
    9899                                                        <div class="containerHead"> 
     
    101102                                                                </div> 
    102103                                                                <div class="containerContent"> 
    103                                                                         <span>{@$daten.fileName}</span> 
     104                                                                        <span>{lang}wcf.dldb.dataset.title{/lang}</span> 
    104105                                                                </div> 
    105106                                                        </div> 
     
    109110                                                                <table class="tableList"> 
    110111                                                                        <tbody> 
    111                                                                                 <tr class="boardlistInner"> 
    112                                                                                         <td class="dldbColumnMarkTitle" style="width:120px"> 
    113                                                                                                 {lang}wcf.dldb.dataset.mimeType{/lang} : 
    114                                                                                         </td> 
    115                                                                                         <td class="dldbColumnMarkContent"> 
    116                                                                                                 <b>{@$daten.mimeType}</b> 
    117                                                                                         </td> 
    118                                                                                 </tr> 
    119                                                                                 <tr class="boardlistInner"> 
    120                                                                                         <td class="dldbColumnMarkTitle" style="width:120px"> 
    121                                                                                                 {lang}wcf.dldb.dataset.groesse{/lang} :  
    122                                                                                         </td> 
    123                                                                                         <td class="dldbColumnMarkContent"> 
    124                                                                                                 <b>{@$daten.groesse}</b> 
    125                                                                                         </td> 
    126                                                                                 </tr> 
    127                                                                                 {if $data.additionalDLDBUpperBoxField|isset}{@$data.additionalDLDBUpperBoxField}{/if} 
     112                                                                                {if $daten.fileName} 
     113                                                                                        <tr class="boardlistInner"> 
     114                                                                                                <td class="dldbColumnMarkTitle"> 
     115                                                                                                        {lang}wcf.dldb.dataset.fileName{/lang} : 
     116                                                                                                </td> 
     117                                                                                                <td class="dldbColumnMarkContent"> 
     118                                                                                                        <b>{@$daten.fileName}</b> 
     119                                                                                                </td> 
     120                                                                                        </tr> 
     121                                                                                {/if} 
     122                                                                                {if $daten.linkType != 2 && $daten.mimeType} 
     123                                                                                        <tr class="boardlistInner"> 
     124                                                                                                <td class="dldbColumnMarkTitle"> 
     125                                                                                                        {lang}wcf.dldb.dataset.mimeType{/lang} : 
     126                                                                                                </td> 
     127                                                                                                <td class="dldbColumnMarkContent"> 
     128                                                                                                        <b>{@$daten.mimeType}</b> <img src="{@RELATIVE_WCF_DIR}icon/filetype/{$daten.type}" alt="" />  
     129                                                                                                </td> 
     130                                                                                        </tr> 
     131                                                                                {/if} 
     132                                                                                {if $daten.groesse} 
     133                                                                                        <tr class="boardlistInner"> 
     134                                                                                                <td class="dldbColumnMarkTitle"> 
     135                                                                                                        {lang}wcf.dldb.dataset.groesse{/lang} :  
     136                                                                                                </td> 
     137                                                                                                <td class="dldbColumnMarkContent"> 
     138                                                                                                        <b>{@$daten.groesse}</b> 
     139                                                                                                </td> 
     140                                                                                        </tr> 
     141                                                                                {/if} 
     142                                                                                {if $additionalDLDBFileBoxField|isset}{@$additionalDLDBFileBoxField}{/if} 
    128143                                                                        </tbody> 
    129144                                                                </table> 
     
    131146                                                </div> 
    132147                                        {/if} 
     148                                        {if $additionalDLDBMiddleBox|isset}{@$additionalDLDBMiddleBox}{/if} 
    133149                                        <div class="border"> 
    134150                                                <div class="content"> 
     
    136152                                                                <tbody> 
    137153                                                                        <tr class="boardlistInner"> 
    138                                                                                 <td class="dldbColumnMarkTitle" style="width:120px"> 
     154                                                                                <td class="dldbColumnMarkTitle"> 
    139155                                                                                        {lang}wcf.dldb.dataset.datum{/lang} :  
    140156                                                                                </td> 
     
    143159                                                                                </td> 
    144160                                                                        </tr> 
    145                                                                         {if !$daten.fileName} 
     161                                                                        {if $daten.linkType != 2 && $daten.groesse} 
    146162                                                                                <tr class="boardlistInner"> 
    147                                                                                         <td class="dldbColumnMarkTitle" style="width:120px"> 
     163                                                                                        <td class="dldbColumnMarkTitle"> 
    148164                                                                                                {lang}wcf.dldb.dataset.groesse{/lang} :  
    149165                                                                                        </td> 
     
    154170                                                                        {/if} 
    155171                                                                        <tr class="boardlistInner"> 
    156                                                                                 <td class="dldbColumnMarkTitle" style="width:120px"> 
     172                                                                                <td class="dldbColumnMarkTitle"> 
    157173                                                                                        {lang}wcf.dldb.dataset.uploader{/lang} :  
    158174                                                                                </td> 
    159175                                                                                <td class="dldbColumnMarkContent"> 
    160                                                                                         <b><a href="index.php?page=User&userID={$daten.dldbUserID}{@SID_ARG_2ND}">{@$daten.dldbUsername}</a></b> 
     176                                                                                        <b><a href="index.php?page=User&amp;userID={$daten.dldbUserID}{@SID_ARG_2ND}">{@$daten.dldbUsername}</a></b> 
    161177                                                                                </td> 
    162178                                                                        </tr> 
    163179                                                                        <tr class="boardlistInner"> 
    164                                                                                 <td class="dldbColumnMarkTitle" style="width:120px"> 
     180                                                                                <td class="dldbColumnMarkTitle"> 
    165181                                                                                        {lang}wcf.dldb.dataset.downloads{/lang} :  
    166182                                                                                </td> 
     
    171187                                                                        {if $daten.thread} 
    172188                                                                                <tr class="boardlistInner"> 
    173                                                                                         <td class="dldbColumnMarkTitle" style="width:120px"> 
     189                                                                                        <td class="dldbColumnMarkTitle"> 
    174190                                                                                                {lang}wcf.dldb.dataset.supportThread{/lang} :  
    175191                                                                                        </td> 
     
    179195                                                                                </tr> 
    180196                                                                        {/if} 
    181                                                                         {if $daten.additionalDLDBLowerBoxField|isset}{@$daten.additionalDLDBLowerBoxField}{/if} 
     197                                                                        {if $additionalDLDBLowerBoxField|isset}{@$additionalDLDBLowerBoxField}{/if} 
    182198                                                                </tbody> 
    183199                                                        </table> 
    184200                                                </div> 
    185201                                        </div> 
     202                                        {if $additionalDLDBLowerBox|isset}{@$additionalDLDBLowerBox}{/if} 
    186203                            </div> 
    187                                 {if $daten.additionalDLDBBox|isset}{@$data.additionalDLDBBox}{/if} 
    188204                                <!-- "Rechts" --> 
    189205                                <div class="dldbright" id="rechts"> 
     206                                        {if $additionalDLDBUpperRightBox|isset}{@$additionalDLDBUpperRightBox}{/if} 
    190207                                        {if $daten.previewThumb} 
    191208                                                <div class="border"> 
     
    211228                                                </div> 
    212229                                        {/if} 
     230                                        {if DOWNLOADDB_ENABLE_RATING && $this->user->getPermission('user.dldb.canRateDownload')} 
     231                                                {if $dldbData->userRating === null || $dldbData->userRating >= DOWNLOADDB_MIN_RATINGS} 
     232                                                        <div class="border"> 
     233                                                                <form method="post" action="index.php?page=DownloadDBData"> 
     234                                                                        <div> 
     235                                                                                <input type="hidden" name="dataID" value="{@$daten.dataID}" /> 
     236                                                                                {@SID_INPUT_TAG} 
     237                                                                                <input type="hidden" id="dataRating" name="rating" value="0" /> 
     238                                                                                <div class="containerHead"> 
     239                                                                                        <div class="containerIcon"> 
     240                                                                                <img src="{@RELATIVE_WCF_DIR}icon/downloadDBDataS.png" alt="" /> 
     241                                                                                        </div> 
     242                                                                                        <div class="containerContent"> 
     243                                                                                                <span>{lang}wcf.dldb.dataset.rate{/lang}</span> 
     244                                                                                        </div> 
     245                                                                                </div> 
     246                                                                                <div class="container-1" id="rating"> 
     247                                                                                        <div class="dldbPreviewIMG"> 
     248                                                                                                <select id="dataRatingSelect" name="rating"> 
     249                                                                                                        <option value="1"{if $dldbData->userRating == 1} selected="selected"{/if}>1</option> 
     250                                                                                                        <option value="2"{if $dldbData->userRating == 2} selected="selected"{/if}>2</option> 
     251                                                                                                        <option value="3"{if $dldbData->userRating == 3} selected="selected"{/if}>3</option> 
     252                                                                                                        <option value="4"{if $dldbData->userRating == 4} selected="selected"{/if}>4</option> 
     253                                                                                                        <option value="5"{if $dldbData->userRating == 5} selected="selected"{/if}>5</option> 
     254                                                                                                        <option value="6"{if $dldbData->userRating == 6} selected="selected"{/if}>6</option> 
     255                                                                                                        <option value="7"{if $dldbData->userRating == 7} selected="selected"{/if}>7</option> 
     256                                                                                                        <option value="8"{if $dldbData->userRating == 8} selected="selected"{/if}>8</option> 
     257                                                                                                        <option value="9"{if $dldbData->userRating == 9} selected="selected"{/if}>9</option> 
     258                                                                                                        <option value="10"{if $dldbData->userRating == 10} selected="selected"{/if}>10</option> 
     259                                                                                                </select> 
     260                                                                                                <input type="image" class="inputImage" src="{@RELATIVE_WCF_DIR}icon/submitS.png" alt="{lang}wcf.global.button.submit{/lang}" /> 
     261                                                                                        </div> 
     262                                                                                </div> 
     263                                                                        </div> 
     264                                                                </form> 
     265                                                        </div> 
     266                                                {/if} 
     267                                        {/if} 
     268                                        {if $additionalDLDBLowerRightBox|isset}{@$additionalDLDBLowerRightBox}{/if} 
    213269                            </div> 
    214270                            <div class="dldbclear" /> 
     
    220276                                        <ul> 
    221277                                                <li> 
    222                                                         <a href="index.php?page=DownloadDBFileDownload&amp;dataID={$daten.dataID}{@SID_ARG_2ND}"><img src="{@RELATIVE_WCF_DIR}icon/downloadDBDataGetM.png" alt="" title="{lang}wcf.dldb.button.submit{/lang}" /> <span>{lang}wcf.dldb.button.submit{/lang}</span></a> 
     278                                                        <a href="index.php?page=DownloadDBFileDownload&amp;dataID={$daten.dataID}{@SID_ARG_2ND}"><img src="{@RELATIVE_WCF_DIR}icon/downloadDBDataGetM.png" alt="" title="{lang}wcf.dldb.button.submit{/lang}" /> <span>{if $daten.linkType == 2}{lang}wcf.dldb.button.submit.link{/lang}{else}{lang}wcf.dldb.button.submit{/lang}{/if}</span></a> 
    223279                                                </li> 
    224280                                        </ul>                    
  • downloadDatabase/templates/downloadDBViewKat.tpl

    r668 r715  
    1919<body> 
    2020{include file='header' sandbox=false} 
    21  
    22 {if $deleteddataID} 
    23         <p class="success">{lang}wcf.dldb.data.delete.success{/lang}</p>         
    24 {/if} 
    25 {if $success|isset} 
    26         <p class="success">{lang}wcf.acp.dldb.{@$action}.success{/lang}</p>      
    27 {/if} 
    2821 
    2922<div id="main"> 
     
    5851        </div> 
    5952 
     53        {if $deleteddataID} 
     54                <p class="success">{lang}wcf.dldb.data.delete.success{/lang}</p>         
     55        {/if} 
     56        {if $success|isset} 
     57                <p class="success">{lang}wcf.acp.dldb.{@$action}.success{/lang}</p>      
     58        {/if} 
     59 
    6060        {if $userMessages|isset}{@$userMessages}{/if} 
     61 
     62        {if $additionalDLDBMessage|isset}{@$additionalDLDBMessage}{/if} 
    6163 
    6264        {if $kategorien|count > 0} 
     
    8082                                                                                                        {/if} 
    8183                                                                                                {/foreach} 
    82                                                                                                 <a id="katLink{@$subkategorie.katID}" href="index.php?page=DownloadDBView&amp;katID={@$subkategorie.katID}{@SID_ARG_2ND}"><span>{@$subkategorie.name|filterjs}</span></a> {if $subkategorie.datain}({#$subkategorie.datain}){/if} 
     84                                                                                                <a id="katLink{@$subkategorie.katID}" href="index.php?page=DownloadDBView&amp;katID={@$subkategorie.katID}{@SID_ARG_2ND}"><span>{lang}{@$subkategorie.name|filterjs}{/lang}</span></a> {if $subkategorie.datain}({#$subkategorie.datain}){/if} 
    8385                                                                                        </h6> 
    8486 
     
    106108                                                                                                                                                {/if} 
    107109                                                                                                                                        {/foreach} 
    108                                                                                                                                         <a id="katLink{@$subsubkat.katID}" href="index.php?page=DownloadDBView&amp;katID={@$subsubkat.katID}{@SID_ARG_2ND}"><span>{@$subsubkat.name|filterjs}</span></a> {if $subsubkat.datain}({#$subsubkat.datain}){/if} 
     110                                                                                                                                        <a id="katLink{@$subsubkat.katID}" href="index.php?page=DownloadDBView&amp;katID={@$subsubkat.katID}{@SID_ARG_2ND}"><span>{lang}{@$subsubkat.name|filterjs}{/lang}</span></a> {if $subsubkat.datain}({#$subsubkat.datain}){/if} 
    109111                                                                                                                                </h6> 
    110112                                         
     
    192194                                                                                <div class="dldbPreviewIMG"><img src="{@$dataset.previewThumb}" alt="" /></div> 
    193195                                                                        {/if} 
    194                                                                         {@$dataset.name|filterjs} 
     196                                                                        {lang}{@$dataset.name|filterjs}{/lang} 
    195197                                                                </a> 
    196198                                                        </td> 
    197                                                         <td class="dldbColumnMarkContent">{@$dataset.description|filterjs}</td> 
     199                                                        <td class="dldbColumnMarkContent">{lang}{@$dataset.description|filterjs}{/lang}</td> 
    198200                                                        <td class="dldbColumnDatum">{@$dataset.datum|date}</td> 
    199201                                                        <td class="dldbColumnGroesse">{@$dataset.groesse}</td>