Changeset 3120

Show
Ignore:
Timestamp:
08/15/08 17:14:24 (3 months ago)
Author:
bricef
Message:

Mise à jour du module. Attention, ce module est encore en état instable

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/project/modules/devel/tools/repository/install/scripts/install.pdo_mysql.sql

    r602 r3120  
    1  
    21DROP TABLE IF EXISTS storedfile; 
    32 
    43CREATE TABLE storedfile ( 
    5     storedfile_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    6     storedfile_name VARCHAR (255), 
    7     storedfile_path VARCHAR (255), 
    8     storedfile_description TEXT, 
    9     storedfile_uploader VARCHAR(255), 
    10     storedfile_uploaddate DATETIME, 
    11     storedfile_nbdownload INT    
     4    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
     5    name VARCHAR (255), 
     6    title VARCHAR (255), 
     7    path VARCHAR (255), 
     8    description TEXT, 
     9    uploader VARCHAR(255), 
     10    uploaddate DATETIME, 
     11    nbdownload INT, 
     12    category_id INT, 
     13    subcategory_id INT 
    1214) CHARACTER SET utf8; 
  • trunk/project/modules/devel/tools/repository/install/scripts/install.pdo_pgsql.sql

    r602 r3120  
    11CREATE TABLE storedfile ( 
    2     storedfile_id SERIAL, 
    3     storedfile_name VARCHAR (255) NOT NULL, 
    4     storedfile_path VARCHAR (255) NOT NULL, 
    5     storedfile_description TEXT, 
    6     storedfile_uploader VARCHAR(255), 
    7     storedfile_uploaddate TIMESTAMP, 
    8     storedfile_nbdownload INT, 
     2    id SERIAL, 
     3    name VARCHAR (255) NOT NULL, 
     4    title VARCHAR (255) NOT NULL, 
     5    path VARCHAR (255) NOT NULL, 
     6    description TEXT, 
     7    uploader VARCHAR(255), 
     8    uploaddate TIMESTAMP, 
     9    nbdownload INT, 
     10    category_id INT, 
     11    subcategory_id INT, 
    912    PRIMARY KEY (storedfile_id) 
    1013);   
  • trunk/project/modules/devel/tools/repository/install/scripts/install.pdo_sqlite.sql

    r602 r3120  
    33 
    44CREATE TABLE storedfile ( 
    5     storedfile_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    6     storedfile_name VARCHAR (255), 
    7     storedfile_path VARCHAR (255), 
    8     storedfile_description TEXT, 
    9     storedfile_uploader VARCHAR(255), 
    10     storedfile_uploaddate DATETIME, 
    11     storedfile_nbdownload INT    
    12 ) ENGINE = INNODB;   
     5    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
     6    name VARCHAR (255), 
     7    path VARCHAR (255), 
     8    description TEXT, 
     9    uploader VARCHAR(255), 
     10    uploaddate DATETIME, 
     11    nbdownload INT, 
     12    category_id INT, 
     13    subcategory_id INT 
     14) ;  
  • trunk/project/modules/devel/tools/repository/module.xml

    r602 r3120  
    66 <parameters> 
    77    <parameter name="repositorypath" captioni18n="repository.parameter.repositorypath" default="repository" /> 
    8     <!--<parameter name="enableTag" captioni18n="repository.parameter.enabletag" default="0"/>--> 
    98 </parameters> 
    109 <admin> 
    11     <link url="repository|repository|addfile" captioni18n="repository.admin.description" credentials="basic:registered"></link> 
     10    <link url="repository|file|upload" captioni18n="repository.admin.description" credentials="basic:registered"></link> 
    1211 </admin> 
    1312</moduledefinition> 
  • trunk/project/modules/devel/tools/repository/resources/repository_fr.properties

    r3075 r3120  
    11# Descriptio et titres du modules 
    2 repository.description = Module de dépôt  
     2repository.description = Module de dt  
    33repository.admin.description = Ajouter un fichier 
    4 repository.longdescription = Module permettant de mettre en place un dépôt de fichiers. Ce module permet de tester et pr�senter des nouveaut�s de Copix 3.0 et Copix 3.1   
     4repository.longdescription = Module permettant de mettre en place un d�t de fichiers. Ce module permet de tester et pr�nter des nouveaut�de Copix 3.0 et Copix 3.1   
    55# Titre des pages  
    6 repository.title.welcome = Bienvenue sur vore espace de dépôt 
    7 repository.title.list = Liste des fichiers déposés 
    8 repository.title.repository = Dépôt de fichier Copix 
    9 repository.title.upload = Chargement d'un fichier sur l'espace de dépôt 
     6repository.title.welcome = Bienvenue sur vore espace de d�t 
     7repository.title.list = Liste des fichiers d�s�repository.title.repository = D�t de fichier Copix 
     8repository.title.upload = Chargement d'un fichier sur l'espace de d�t 
    109# Champs du fomulaire 
    1110repository.form.titlefile = Titre du document 
    12 repository.form.fileupload = Fichier à déposer 
     11repository.form.fileupload = Fichier ��ser 
    1312repository.form.uploader = Contributeur 
    14 repository.form.comment = Informations complémentaires  
    15 repository.form.category = Catégorie du fichier 
    16 repository.form.subcategory = Sous-catégorie du fichier 
     13repository.form.comment = Informations complntaires  
     14repository.form.category = Catrie du fichier 
     15repository.form.subcategory = Sous-catrie du fichier 
    1716repository.form.save = Ajouter un fichier 
    1817repository.form.title = Ajouter un document  
    1918repository.form.submit = Soumettre le document 
    20 # Paramètres du modules  
    21 repository.parameter.enabletag = Gérer les tags (nécessite le module Tag) 
    22 repository.parameter.repositorypath = Repertoire du dépô
     19# Parames du modules  
     20repository.parameter.enabletag = G�r les tags (n�ssite le module Tag) 
     21repository.parameter.repositorypath = Repertoire du d
    2322#Messages d'erreur  
    2423repository.error.upload = Erreur de chargement 
     
    2726repository.list.filename = Nom du fichier 
    2827repository.list.uploader = Contributeur 
    29 repository.list.nbdownload = Nb de téléchargements  
     28repository.list.nbdownload = Nb de tchargements  
    3029repository.list.uploaddate = Date d'ajout 
    31 repository.list.category = Catégorie 
    32 repository.list.subcategory = Sous-catégorie 
    33 repository.list.nofile = Pas de fichier dans le dépô
    34 repository.list.download = Télécharger 
     30repository.list.category = Catrie 
     31repository.list.subcategory = Sous-catrie 
     32repository.list.nofile = Pas de fichier dans le d
     33repository.list.download = Tcharger 
    3534# Message d'informations  
    36 repository.upload.successful = Chargement du fichier "%s" réussi  
     35repository.upload.successful = Chargement du fichier "%s" rsi  
  • trunk/project/modules/devel/tools/repository/templates/upload.form.php

    r3009 r3120  
    1 <form action="<?php _url('repository|default|Add');?>" method="POST" enctype="multipart/form-data"> 
    2 <input type="hidden" name="confirm" value="1"> 
    3 <fieldset> 
    4 <table class="CopixVerticalTable"> 
    5     <tr> 
    6         <th><?php _etag ('i18n', 'repository.form.fileupload');?></th> 
    7         <td><input type="file" name="uploadfile"></td> 
    8     </tr> 
    9     <tr class="alternate"> 
    10         <th><?php _etag ('i18n', 'repository.form.uploader');?></th> 
    11         <td><?php echo $ppo->uploader ;?></td> 
    12     </tr> 
    13     <tr> 
    14         <th><?php _etag ('i18n', 'repository.form.comment');?></th> 
    15         <td><textarea cols="50" rows="5" name="comment"></textarea></td> 
    16     </tr> 
    17     <tr> 
    18         <td colspan="2"><input type="image" src="<?php CopixUrl::getResource ('img/tools/add.png') ;?>" alt="<?php _etag ('i18n', 'repository.form.save');?>"></td> 
    19 </table> 
    20 </form> 
     1    <form id="uploadform" action="<?php echo _url ('repository|file|validform');?>" enctype="multipart/form-data" method="post"> 
     2        <div class="content"> 
     3            <fieldset > 
     4                <legend><?php _etag ('i18n', 'repository.form.title');  ?></legend> 
     5                <table style="vertical-align:top;"> 
     6                    <tr> 
     7                        <td> 
     8                            <?php _etag ('i18n', 'repository.form.titlefile');  ?> 
     9                        </td> 
     10                        <td> 
     11                            <input name="file_title" id="file_title" type="text" style="width: 200px" /> 
     12                        </td> 
     13                    </tr> 
     14                    <tr> 
     15                        <td> 
     16                            <?php _etag ('i18n', 'repository.form.fileupload');  ?> 
     17                        </td> 
     18                        <td> 
     19                            <input type="file" name="resume_degraded" id="resume_degraded" /> (2 MB max)<br/> 
     20                        </td> 
     21                    </tr> 
     22                    <tr> 
     23                        <td> 
     24                            <?php _etag ('i18n', 'repository.form.category');  ?> 
     25                        </td> 
     26                        <td> 
     27                        <?php // @todo Utiliser le système générique de categories  ?> 
     28                        <select name="file_category" id="file_category" style="width: 200px" /> 
     29                        <option value="">---</option> 
     30                        <option value="1">Categorie 1</option> 
     31                        </select> 
     32                        </td> 
     33                    </tr> 
     34                                        <tr> 
     35                        <td> 
     36                            Sous catégorie 
     37                        </td> 
     38                        <td> 
     39                        <?php // @todo Idem précedemment ?> 
     40                        <select name="file_subcategory" id="file_subcategory" style="width: 200px" /> 
     41                        <option value="">---</option> 
     42                        <option value="1">Sous catégorie 1</option> 
     43                        </select> 
     44                        </td> 
     45                    </tr> 
     46                    <tr> 
     47                        <td> 
     48                            <?php _etag ('i18n', 'repository.form.comment');?> 
     49                        </td> 
     50                        <td> 
     51                            <textarea name="file_comment" id="file_comment" cols="0" rows="0" style="width: 400px; height: 100px;"></textarea> 
     52                        </td> 
     53                    </tr> 
     54                </table> 
     55                <br /> 
     56                <input type="submit" value="<?php _etag ('i18n', 'repository.form.submit');?>"  id="btnSubmit" /> 
     57            </fieldset> 
     58        </div> 
     59    </form> 
  • trunk/project/modules/devel/tools/repository/zones/uploadform.zone.php

    r3009 r3120  
    1010 
    1111/** 
    12  * Zone d'affichage du formulaire d'upload  
    13  * @todo : Ajouter un  
     12 * Zone d'affichage du formulaire d'upload 
     13 * @todo : Ajouter un 
    1414 * @package tools 
    15  * @subpackage repository  
     15 * @subpackage repository 
    1616 */ 
    1717class ZoneUploadForm extends CopixZone{ 
    18      
     18 
    1919    /** 
    2020     * Crééation du contenu 
     
    2222     * @param boolean $toReturn 
    2323     */ 
    24     private function _createContent (& $toReturn){ 
     24    protected function _createContent (& $toReturn){ 
    2525        $tpl = new CopixTpl (); 
     26        $tpl-> assign ('uploader', 'Test'); 
    2627        $jsCode = $this->_getJsCode (); 
    2728        CopixHTMLHeader::addJsCode ($jsCode); 
     29        CopixHTMLHeader::addJSLink(_resource ('js/swfupload/swfupload.js')); 
     30        CopixHTMLHeader::addJSLink(_resource ('js/swfupload/swfupload.graceful_degradation.js')); 
     31        // CopixHTMLHeader::addJSLink(_resource ('js/swfupload/swfupload.queue.js')); 
     32        CopixHTMLHeader::addJSLink(_resource ('js/swfupload/handlers.js')); 
    2833        $toReturn = $tpl->fetch ('upload.form.php'); 
    2934        return true; 
    3035    } 
    31      
     36 
    3237    /** 
    3338     * Retourner le code JS nécessaire à l'upload 
     
    3540     */ 
    3641    private function _getJsCode (){ 
    37         return ''; 
     42        $upload_url = _url ('repository|ajax|upload'); 
     43        $flash_url =  '../../..//swf/swfupload_f9.swf'; 
     44 
     45        $upload_script = <<<EOF 
     46        var swf_upload_control; 
     47 
     48        window.onload = function(){ 
     49        swf_upload_control = new SWFUpload({ 
     50        // Backend settings 
     51        upload_url: "$upload_url", // Relative to the SWF file, you can use an absolute URL as well. 
     52        file_post_name: "resume_file", 
     53 
     54        // Flash file settings 
     55        file_size_limit: "10240", // 10 MB 
     56        file_types: "*.*", // or you could use something like: "*.doc;*.wpd;*.pdf", 
     57        file_types_description: "All Files", 
     58        file_upload_limit: "0", // Even though I only want one file I want the user to be able to try again if an upload fails 
     59        file_queue_limit: "1", // this isn't needed because the upload_limit will automatically place a queue limit 
     60        // Event handler settings 
     61        swfupload_loaded_handler: myShowUI, 
     62 
     63        //file_dialog_start_handler : fileDialogStart,      // I don't need to override this handler 
     64        file_queued_handler: fileQueued, 
     65        file_queue_error_handler: fileQueueError, 
     66        file_dialog_complete_handler: fileDialogComplete, 
     67 
     68        //upload_start_handler : uploadStart,   // I could do some client/JavaScript validation here, but I don't need to. 
     69        upload_progress_handler: uploadProgress, 
     70        upload_error_handler: uploadError, 
     71        upload_success_handler: uploadSuccess, 
     72        upload_complete_handler: uploadComplete, 
     73 
     74        // Flash Settings 
     75        flash_url: "$flash_url", // Relative to this file 
     76        // UI settings 
     77        swfupload_element_id: "flashUI", // setting for the graceful degradation plugin 
     78        degraded_element_id: "degradedUI", 
     79         
     80        custom_settings: { 
     81            progress_target: "fsUploadProgress", 
     82            upload_successful: false 
     83        }, 
     84         
     85        // Debug settings 
     86        debug: false 
     87    });     
     88
     89 
     90function myShowUI(){ 
     91    var btnSubmit = document.getElementById("btnSubmit");     
     92    var txtFileTitle = document.getElementById("file_title"); 
     93    var selectFileCategory = document.getElementById("file_category"); 
     94    var selectFileSubCategory = document.getElementById("file_subcategory"); 
     95     
     96    btnSubmit.onclick = doSubmit; 
     97    btnSubmit.disabled = true; 
     98 
     99    txtFileTitle.onchange = validateForm; 
     100    selectFileCategory.onchange = validateForm; 
     101    selectFileSubCategory.onchange = validateForm; 
     102             
     103    SWFUpload.swfUploadLoaded.apply(this);  // Let SWFUpload finish loading the UI. 
     104    validateForm(); 
     105     
     106
     107 
     108        function validateForm() { 
     109            var txtFileTitle = document.getElementById("file_title"); 
     110            var selectFileCategory = document.getElementById("file_category"); 
     111            var selectFileSubCategory = document.getElementById("file_subcategory"); 
     112            var txtFileName = document.getElementById("txtFileName"); 
     113             
     114            var is_valid = true; 
     115            if (txtFileTitle.value === "") is_valid = false; 
     116            if (selectFileCategory.value === "") is_valid = false; 
     117            if (selectFileSubCategory.value === "") is_valid = false; 
     118            if (txtFileName.value === "") is_valid = false; 
     119             
     120            document.getElementById("btnSubmit").disabled = !is_valid; 
     121         
     122        } 
     123         
     124function fileBrowse(){ 
     125    var txtFileName = document.getElementById("txtFileName"); 
     126    txtFileName.value = ""; 
     127     
     128    this.cancelUpload(); 
     129    this.selectFile(); 
     130
     131 
     132 
     133// Called by the submit button to start the upload 
     134function doSubmit(e){ 
     135    e = e || window.event; 
     136    if (e.stopPropagation)  
     137        e.stopPropagation(); 
     138    e.cancelBubble = true; 
     139     
     140    try { 
     141        swf_upload_control.startUpload(); 
     142    }  
     143    catch (ex) { 
     144     
     145    } 
     146    return false; 
     147
     148 
     149// Called by the queue complete handler to submit the form 
     150function uploadDone(){ 
     151    try { 
     152        document.getElementById("uploadform").submit(); 
     153    }  
     154    catch (ex) { 
     155        alert("Error submitting form"); 
     156    } 
     157
     158 
     159EOF; 
     160        return $upload_script; 
    38161    } 
    39      
     162 
    40163}