diff options
author | rub <rub@piwigo.org> | 2008-05-02 21:56:21 +0000 |
---|---|---|
committer | rub <rub@piwigo.org> | 2008-05-02 21:56:21 +0000 |
commit | 5436a351ef6dd685483f022af6656bbf8b797cb6 (patch) | |
tree | 8d963ace1e57b404726500753111649d144527c6 | |
parent | 7942dccf9b682d359a89636528e96af5b38327da (diff) |
Resolved issue 0000823: Enhance upload functionalities
First commit, others will be follow.
Not hesitate to change my translations.
Add upload configuration tabsheet (move and add configuration)
Change and add define for access level
Can show upload link every time
Can restrict access upload.class.php
Can choice category on upload page
Add upload class not use for the moment
Review quickly and temporary style of upload.tpl
git-svn-id: http://piwigo.org/svn/trunk@2325 68402e56-0260-453c-a942-63ccdbb3a9ee
33 files changed, 548 insertions, 206 deletions
diff --git a/admin/configuration.php b/admin/configuration.php index 0a89f6e4b..8e69d9c16 100644 --- a/admin/configuration.php +++ b/admin/configuration.php @@ -51,7 +51,6 @@ $main_checkboxes = array( 'rate', 'rate_anonymous', 'email_admin_on_new_user', - 'email_admin_on_picture_uploaded', ); $history_checkboxes = array( @@ -60,6 +59,11 @@ $history_checkboxes = array( 'history_guest' ); +$upload_checkboxes = array( + 'upload_link_everytime', + 'email_admin_on_picture_uploaded', + ); + $comments_checkboxes = array( 'comments_forall', 'comments_validation', @@ -110,6 +114,14 @@ if (isset($_POST['submit']) and !is_adviser()) } break; } + case 'upload' : + { + foreach( $upload_checkboxes as $checkbox) + { + $_POST[$checkbox] = empty($_POST[$checkbox])?'false':'true'; + } + break; + } case 'default' : { // Never go here @@ -160,6 +172,7 @@ $tabsheet = new tabsheet(); $tabsheet->add('main', l10n('conf_main_title'), $conf_link.'main'); $tabsheet->add('history', l10n('conf_history_title'), $conf_link.'history'); $tabsheet->add('comments', l10n('conf_comments_title'), $conf_link.'comments'); +$tabsheet->add('upload', l10n('conf_upload_title'), $conf_link.'upload'); $tabsheet->add('default', l10n('conf_display'), $conf_link.'default'); // TabSheet selection $tabsheet->select($page['section']); @@ -187,7 +200,7 @@ switch ($page['section']) 'CONF_GALLERY_URL' => $conf['gallery_url'], )); - foreach( $main_checkboxes as $checkbox) + foreach ($main_checkboxes as $checkbox) { $template->append( 'main', @@ -202,7 +215,7 @@ switch ($page['section']) case 'history' : { //Necessary for merge_block_vars - foreach( $history_checkboxes as $checkbox) + foreach ($history_checkboxes as $checkbox) { $template->append( 'history', @@ -222,7 +235,7 @@ switch ($page['section']) 'NB_COMMENTS_PAGE'=>$conf['nb_comment_page'], )); - foreach( $comments_checkboxes as $checkbox) + foreach ($comments_checkboxes as $checkbox) { $template->append( 'comments', @@ -234,6 +247,28 @@ switch ($page['section']) } break; } + case 'upload' : + { + $template->assign( + 'upload', + array( + 'upload_user_access_options'=> get_user_access_level_html_options(ACCESS_GUEST), + 'upload_user_access_options_selected' => array($conf['upload_user_access']) + ) + ); + //Necessary for merge_block_vars + foreach ($upload_checkboxes as $checkbox) + { + $template->append( + 'upload', + array( + $checkbox => $conf[$checkbox] + ), + true + ); + } + break; + } case 'default' : { $edit_user = build_user($conf['default_user_id'], false); diff --git a/admin/include/functions.php b/admin/include/functions.php index 94ac4c962..5cb81e9cb 100644 --- a/admin/include/functions.php +++ b/admin/include/functions.php @@ -1837,4 +1837,20 @@ function create_table_add_character_set($query) } return $query; } + +/** + * Returns array use on template with html_options method + * @param Min and Max access to use + * @return array of user access level + */ +function get_user_access_level_html_options($MinLevelAccess = ACCESS_FREE, $MaxLevelAccess = ACCESS_CLOSED) +{ + $tpl_options = array(); + for ($level = $MinLevelAccess; $level <= $MaxLevelAccess; $level++) + { + $tpl_options[$level] = l10n(sprintf('ACCESS_%d', $level)); + } + return $tpl_options; +} + ?>
\ No newline at end of file diff --git a/identification.php b/identification.php index 7e9585eab..877e51a65 100644 --- a/identification.php +++ b/identification.php @@ -28,7 +28,7 @@ include_once( PHPWG_ROOT_PATH.'include/common.inc.php' ); // +-----------------------------------------------------------------------+ // | Check Access and exit when user status is not ok | // +-----------------------------------------------------------------------+ -check_status(ACCESS_NONE); +check_status(ACCESS_FREE); //-------------------------------------------------------------- identification $errors = array(); diff --git a/include/constants.php b/include/constants.php index 814d18f3e..6b05d683a 100644 --- a/include/constants.php +++ b/include/constants.php @@ -36,11 +36,12 @@ define('CRITICAL_MESSAGE', 203); define('CRITICAL_ERROR', 204); // Access codes -define('ACCESS_NONE', 0); +define('ACCESS_FREE', 0); define('ACCESS_GUEST', 1); define('ACCESS_CLASSIC', 2); define('ACCESS_ADMINISTRATOR', 3); define('ACCESS_WEBMASTER', 4); +define('ACCESS_CLOSED', 5); // Table names if (!defined('CATEGORIES_TABLE')) diff --git a/include/functions_category.inc.php b/include/functions_category.inc.php index 2adbb200a..94b2411d2 100644 --- a/include/functions_category.inc.php +++ b/include/functions_category.inc.php @@ -452,4 +452,59 @@ function get_display_images_count($cat_nb_images, $cat_count_images, $cat_count_ return $display_text; } +/** + * returns the link of upload menu + * + * @param null + * @return string or null + */ +function get_upload_menu_link() +{ + global $conf, $page, $user; + + $show_link = false; + $arg_link = null; + + if (is_autorize_status($conf['upload_user_access'])) + { + if (isset($page['category']) and $page['category']['uploadable'] ) + { + // upload a picture in the category + $show_link = true; + $arg_link = 'cat='.$page['category']['id']; + } + else + if ($conf['upload_link_everytime']) + { + // upload a picture in the category + $query = ' +SELECT + 1 +FROM '.CATEGORIES_TABLE.' INNER JOIN '.USER_CACHE_CATEGORIES_TABLE.' + ON id = cat_id and user_id = '.$user['id'].' +WHERE + uploadable = \'true\' + '.get_sql_condition_FandF + ( + array + ( + 'visible_categories' => 'id', + ), + 'AND' + ).' +LIMIT 1'; + + $show_link = mysql_num_rows(pwg_query($query)) <> 0; + } + } + if ($show_link) + { + return get_root_url().'upload.php'.(empty($arg_link) ? '' : '?'.$arg_link); + } + else + { + return; + } +} + ?> diff --git a/include/functions_user.inc.php b/include/functions_user.inc.php index 6630e2dae..d2c9530e2 100644 --- a/include/functions_user.inc.php +++ b/include/functions_user.inc.php @@ -1088,7 +1088,7 @@ function get_user_status($user_status) } /* - * Return access_type definition of uuser + * Return access_type definition of user * Test does with user status * @return bool */ @@ -1101,7 +1101,7 @@ function get_access_type_status($user_status='') case 'guest': { $access_type_status = - ($conf['guest_access'] ? ACCESS_GUEST : ACCESS_NONE); + ($conf['guest_access'] ? ACCESS_GUEST : ACCESS_FREE); break; } case 'generic': @@ -1126,7 +1126,7 @@ function get_access_type_status($user_status='') } default: { - $access_type_status = ACCESS_NONE; + $access_type_status = ACCESS_FREE; break; } } diff --git a/include/menubar.inc.php b/include/menubar.inc.php index 4f7b5fe61..03e941226 100644 --- a/include/menubar.inc.php +++ b/include/menubar.inc.php @@ -39,6 +39,7 @@ $template->assign( 'MENU_CATEGORIES_CONTENT' => get_categories_menu(), 'U_CATEGORIES' => make_index_url(array('section' => 'categories')), 'U_LOST_PASSWORD' => get_root_url().'password.php', + 'U_UPLOAD' => get_upload_menu_link() ) ); @@ -304,12 +305,7 @@ $template->append( ) ); -if (isset($page['category']) and $page['category']['uploadable'] ) -{ // upload a picture in the category - $url = get_root_url().'upload.php?cat='.$page['category']['id']; - $template->assign('U_UPLOAD', $url); -} - trigger_action('loc_end_menubar'); $template->assign_var_from_handle('MENUBAR', 'menubar'); + ?> diff --git a/include/upload.class.php b/include/upload.class.php new file mode 100644 index 000000000..f9587ddb8 --- /dev/null +++ b/include/upload.class.php @@ -0,0 +1,41 @@ +<?php +// +-----------------------------------------------------------------------+ +// | Piwigo - a PHP based picture gallery | +// +-----------------------------------------------------------------------+ +// | Copyright(C) 2008 Piwigo Team http://piwigo.org | +// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net | +// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick | +// +-----------------------------------------------------------------------+ +// | This program is free software; you can redistribute it and/or modify | +// | it under the terms of the GNU General Public License as published by | +// | the Free Software Foundation | +// | | +// | This program is distributed in the hope that it will be useful, but | +// | WITHOUT ANY WARRANTY; without even the implied warranty of | +// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | +// | General Public License for more details. | +// | | +// | You should have received a copy of the GNU General Public License | +// | along with this program; if not, write to the Free Software | +// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | +// | USA. | +// +-----------------------------------------------------------------------+ + +class Upload +{ + function Upload() + { + } + + /** + * Return list of Uploadable categories + * + * @param void + * @return array + */ + function get_cat() + { + } +} + +?> diff --git a/install/config.sql b/install/config.sql index 01793eb94..bf7dd0d6b 100644 --- a/install/config.sql +++ b/install/config.sql @@ -25,3 +25,5 @@ INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('email_admin_on_c INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('email_admin_on_picture_uploaded','false','Send an email to the administrators when a picture is uploaded'); INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('obligatory_user_mail_address','false','Mail address is obligatory for users'); INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('c13y_ignore',null,'List of ignored anomalies'); +INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('upload_link_everytime','false','Show upload link every time'); +INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('upload_user_access',2 /*ACCESS_CLASSIC*/,'User access level to upload'); diff --git a/install/db/70-database.php b/install/db/70-database.php new file mode 100644 index 000000000..50dfc161b --- /dev/null +++ b/install/db/70-database.php @@ -0,0 +1,53 @@ +<?php +// +-----------------------------------------------------------------------+ +// | Piwigo - a PHP based picture gallery | +// +-----------------------------------------------------------------------+ +// | Copyright(C) 2008 Piwigo Team http://piwigo.org | +// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net | +// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick | +// +-----------------------------------------------------------------------+ +// | This program is free software; you can redistribute it and/or modify | +// | it under the terms of the GNU General Public License as published by | +// | the Free Software Foundation | +// | | +// | This program is distributed in the hope that it will be useful, but | +// | WITHOUT ANY WARRANTY; without even the implied warranty of | +// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | +// | General Public License for more details. | +// | | +// | You should have received a copy of the GNU General Public License | +// | along with this program; if not, write to the Free Software | +// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | +// | USA. | +// +-----------------------------------------------------------------------+ + +if (!defined('PHPWG_ROOT_PATH')) +{ + die('Hacking attempt!'); +} + +$upgrade_description = 'Add upload config'; + +include_once(PHPWG_ROOT_PATH.'include/constants.php'); + +// +-----------------------------------------------------------------------+ +// | Upgrade content | +// +-----------------------------------------------------------------------+ + +$query = " +replace into ".CONFIG_TABLE." + (param, value, comment) +values +('upload_link_everytime','false','Show Upload link every time'), +('upload_user_access',".ACCESS_CLASSIC.",'Minimal user status allowed to upload pictures') +;"; + +pwg_query($query); + +echo +"\n" +.'"'.$upgrade_description.'"'.' ended' +."\n" +; + +?> diff --git a/language/en_UK/admin.lang.php b/language/en_UK/admin.lang.php index c9b2abe13..d231d2798 100644 --- a/language/en_UK/admin.lang.php +++ b/language/en_UK/admin.lang.php @@ -634,5 +634,15 @@ $lang['plugins_check_chmod'] = 'Please check "plugins" folder and sub-folders pe $lang['plugins_server_error'] = 'Can\'t connect to server.'; // --------- Starting below: New or revised $lang ---- from Butterfly (1.8) $lang['Purge compiled templates'] = 'Purge compiled templates'; -/* TODO */ $lang['Caddie is currently empty'] = 'Caddie is currently empty'; +$lang['Caddie is currently empty'] = 'Caddie is currently empty'; +$lang['conf_upload_title'] = 'Upload'; +$lang['Show upload link every time'] = 'Show upload link every time'; +$lang['User access level to upload'] = 'User access level to upload'; +$lang['ACCESS_0'] = 'Free access'; +$lang['ACCESS_1'] = 'Access to all'; +$lang['ACCESS_2'] = 'Access to subscribed'; +$lang['ACCESS_3'] = 'Access to administrators'; +$lang['ACCESS_4'] = 'Access to webmasters'; +$lang['ACCESS_5'] = 'No access'; + ?> diff --git a/language/en_UK/common.lang.php b/language/en_UK/common.lang.php index 43c78de97..e8abb3d3a 100644 --- a/language/en_UK/common.lang.php +++ b/language/en_UK/common.lang.php @@ -306,7 +306,6 @@ $lang['title_send_mail'] = 'A comment on your site'; $lang['today'] = 'today'; $lang['update_rate'] = 'Update your rating'; $lang['update_wrong_dirname'] = 'wrong filename'; -$lang['upload_advise'] = 'Choose an image to place in the category : '; $lang['upload_advise_filesize'] = 'the filesize of the picture must not exceed : '; $lang['upload_advise_filetype'] = 'the picture must be to the fileformat jpg, gif or png'; $lang['upload_advise_height'] = 'the height of the picture must not exceed : '; @@ -364,4 +363,6 @@ $lang['%d element are also linked to current tags'] = '%d image is also linked t $lang['%d elements are also linked to current tags'] = '%d images are also linked to current tags'; $lang['See elements linked to this tag only'] = 'See images linked to this tag only'; $lang['elements posted during the last %d days'] = 'images posted during the last %d days'; +$lang['Choose an image'] = 'Choose an image'; + ?> diff --git a/language/en_UK/help/configuration.html b/language/en_UK/help/configuration.html index c722be2e4..cb9f1f7c0 100644 --- a/language/en_UK/help/configuration.html +++ b/language/en_UK/help/configuration.html @@ -34,8 +34,6 @@ page.</li> <li><strong>Email admins when a new user registers</strong>: Administrators will be received mail for each registration.</li> - <li><strong>Email adminis when a picture is uploaded</strong>: Administrators will be received mail for each picture uploaded by a user.</li> - </ul> <h3>History</h3> @@ -78,6 +76,13 @@ User comments validation takes place in the screen <span class="pwgScreen">Admin </ul> +<!--TODO --><h3>Upload</h3> +<ul> +<!--TODO --> <li><strong>Show upload link every time</strong>: If exists uploadeable categories, add link will be show for each categoy.</li> +<!--TODO --> <li><strong>User access level to upload</strong>: Allows to restrict upload by users</li> + <li><strong>Email adminis when a picture is uploaded</strong>: Administrators will be received mail for each picture uploaded by a user.</li> +</ul> + <h3>Default display</h3> <p>Here you can change display options used by default, when guest is not diff --git a/language/es_ES/admin.lang.php b/language/es_ES/admin.lang.php index acee9a7bf..fadce5427 100644 --- a/language/es_ES/admin.lang.php +++ b/language/es_ES/admin.lang.php @@ -639,5 +639,15 @@ $lang['plugins_check_chmod'] = 'Verifique los autorizaciones del expediente " pl $lang['plugins_server_error'] = 'Imposible conectarse al servidor.'; // --------- Starting below: New or revised $lang ---- from Butterfly (1.8) $lang['Purge compiled templates'] = 'Purgar el templates compilado'; -$lang['Caddie is currently empty'] = 'Caddie is currently empty'; +/* TODO */ $lang['Caddie is currently empty'] = 'Caddie is currently empty'; +/* TODO */ $lang['conf_upload_title'] = 'Upload'; +/* TODO */ $lang['Show upload link every time'] = 'Show upload link every time'; +/* TODO */ $lang['User access level to upload'] = 'User access level to upload'; +/* TODO */ $lang['ACCESS_0'] = 'Free access'; +/* TODO */ $lang['ACCESS_1'] = 'Access to all'; +/* TODO */ $lang['ACCESS_2'] = 'Access to subscribed'; +/* TODO */ $lang['ACCESS_3'] = 'Access to administrators'; +/* TODO */ $lang['ACCESS_4'] = 'Access to webmasters'; +/* TODO */ $lang['ACCESS_5'] = 'No access'; + ?> diff --git a/language/es_ES/common.lang.php b/language/es_ES/common.lang.php index 99d1ac42d..96d4a8a5f 100644 --- a/language/es_ES/common.lang.php +++ b/language/es_ES/common.lang.php @@ -306,7 +306,6 @@ $lang['title_send_mail'] = 'Una opinión sobre esta pagina'; $lang['today'] = 'hoy'; $lang['update_rate'] = 'Actualizar nota'; $lang['update_wrong_dirname'] = 'Mal nombre de repertorio'; -$lang['upload_advise'] = 'Elegir una imagen para agregar en esta categoría : '; $lang['upload_advise_filesize'] = 'El peso de la imagen debe sobrepasar : '; $lang['upload_advise_filetype'] = 'El tamaño de la imagen debe ser jpg, png ou gif'; $lang['upload_advise_height'] = 'La altura de la imagen no debe sobrepasar : '; @@ -364,4 +363,6 @@ $lang['%d element are also linked to current tags'] = '%d imagen es también vin $lang['%d elements are also linked to current tags'] = '%d imagenes son igualmente vinculadas a los tags corrientes'; $lang['See elements linked to this tag only'] = 'Ver las imágenes relacionadas únicamente a este tag'; $lang['elements posted during the last %d days'] = 'esta imagen tiene menos de %d dias'; +$lang['Choose an image'] = 'Elegir una imagen'; + ?> diff --git a/language/es_ES/help/configuration.html b/language/es_ES/help/configuration.html index 1623b3365..f2aa3d1fe 100644 --- a/language/es_ES/help/configuration.html +++ b/language/es_ES/help/configuration.html @@ -24,8 +24,6 @@ cass="filename">include/config_default.inc.php</span></p> <li><strong>Permitir el registro de los utilizadores</strong>: La inscripción es libre para ellos todos.</li> - <li><strong>Notificar a los administradores cuando una imagen es cargada</strong>: Los administradores recibirán un courriel a cada imagen puesto en disposición por un utilizador.</li> - </ul> <h3>Reseña histórica</h3> @@ -62,6 +60,13 @@ La validación de los comentarios utilizadores se efectua en la pantalla <span c </ul> +<!--TODO --><h3>Upload</h3> +<ul> +<!--TODO --> <li><strong>Show upload link every time</strong>: If exists uploadeable categories, add link will be show for each categoy.</li> +<!--TODO --> <li><strong>User access level to upload</strong>: Allows to restrict upload by users</li> + <li><strong>Notificar a los administradores cuando una imagen es cargada</strong>: Los administradores recibirán un courriel a cada imagen puesto en disposición por un utilizador.</li> +</ul> + <h3>Fijación por defecto</h3> <p>Modificar las opciones de fijación por defecto: para los visitadores no conectados. Una vez conectado, estas opciones son sobrecargadas por las del utilizador, a las que puede modificar en la pantalla <span class="pwgScreen">perfila</span>.</p> diff --git a/language/fr_FR/admin.lang.php b/language/fr_FR/admin.lang.php index b13c81b10..76f241bee 100644 --- a/language/fr_FR/admin.lang.php +++ b/language/fr_FR/admin.lang.php @@ -635,4 +635,14 @@ $lang['plugins_server_error'] = 'Impossible de se connecter au serveur.'; // --------- Starting below: New or revised $lang ---- from Butterfly (1.8) $lang['Purge compiled templates'] = 'Purger les templates compilés'; $lang['Caddie is currently empty'] = 'Le panier est actuellement vide.'; +$lang['conf_upload_title'] = 'Téléchargement'; +$lang['Show upload link every time'] = 'Afficher le lien d\'ajout d\'image tout le temps'; +$lang['User access level to upload'] = 'Niveau d\'accès utilisateur pour télécharger'; +$lang['ACCESS_0'] = 'Accès libre'; +$lang['ACCESS_1'] = 'Accès à tous'; +$lang['ACCESS_2'] = 'Accès aux inscrits'; +$lang['ACCESS_3'] = 'Accès aux administrateurs'; +$lang['ACCESS_4'] = 'Accès aux webmestres'; +$lang['ACCESS_5'] = 'Pas d\'accès'; + ?> diff --git a/language/fr_FR/common.lang.php b/language/fr_FR/common.lang.php index 06af0ee76..af5aed3d5 100644 --- a/language/fr_FR/common.lang.php +++ b/language/fr_FR/common.lang.php @@ -306,7 +306,6 @@ $lang['title_send_mail'] = 'Un commentaire sur le site'; $lang['today'] = 'aujourd\'hui'; $lang['update_rate'] = 'Mettre à jour votre note'; $lang['update_wrong_dirname'] = 'mauvais nom de répertoire'; -$lang['upload_advise'] = 'Choisir une image à ajouter dans cette catégorie : '; $lang['upload_advise_filesize'] = 'le poids de l\'image ne doit dépasser : '; $lang['upload_advise_filetype'] = 'le format de l\'image doit être jpg, png ou gif'; $lang['upload_advise_height'] = 'la hauteur de l\'image ne doit pas dépasser : '; @@ -364,4 +363,6 @@ $lang['%d element are also linked to current tags'] = '%d image est également l $lang['%d elements are also linked to current tags'] = '%d images sont également liées aux tags courants'; $lang['See elements linked to this tag only'] = 'Voir les images liées uniquement à ce tag'; $lang['elements posted during the last %d days'] = 'images ajoutées au cours de %d derniers jours'; +$lang['Choose an image'] = 'Choisir une image à ajouter'; + ?> diff --git a/language/fr_FR/help/configuration.html b/language/fr_FR/help/configuration.html index 4f2a9f3d7..086b78e40 100644 --- a/language/fr_FR/help/configuration.html +++ b/language/fr_FR/help/configuration.html @@ -34,8 +34,6 @@ galerie.</li> <li><strong>Notifier les administrateurs lors de l'inscription d'un utilisateur</strong>: Les administrateurs recevront un courriel à chaque inscription.</li> - <li><strong>Notifier les administrateurs quand une image est téléchargée</strong>: Les administrateurs recevront un courriel à chaque image mis à disposition par un utilisateur.</li> - </ul> <h3>Historique</h3> @@ -78,6 +76,13 @@ La validation des commentaires utilisateurs a lieu dans l'écran <span class="pw </ul> +<h3>Téléchargement</h3> +<ul> + <li><strong>Afficher le lien d'ajout d'image tout le temps</strong>: S'il existe des catégories permettant le téléchargement, le lien d'ajout d'image sera affiché quelque soit la catégorie.</li> + <li><strong>Niveau d'accès utilisateur pour télécharger</strong>: Permet de restreindre l'ajout à certains utilisateurs</li> + <li><strong>Notifier les administrateurs quand une image est téléchargée</strong>: Les administrateurs recevront un courriel à chaque image mis à disposition par un utilisateur.</li> +</ul> + <h3>Affichage par défaut</h3> <p>Modifier les options d'affichage par défaut: pour les visiteurs non connectés. Une fois connecté, ces options sont surchargées par celles de diff --git a/language/nl_NL/admin.lang.php b/language/nl_NL/admin.lang.php index cc05317a8..02bb2c522 100644 --- a/language/nl_NL/admin.lang.php +++ b/language/nl_NL/admin.lang.php @@ -643,4 +643,14 @@ $lang['c13y_submit_correction'] = 'Pas geselecteerde correcties toe'; // --------- Starting below: New or revised $lang ---- from Butterfly (1.8) /* TODO */ $lang['Purge compiled templates'] = 'Purge compiled templates'; /* TODO */ $lang['Caddie is currently empty'] = 'Caddie is currently empty'; +/* TODO */ $lang['conf_upload_title'] = 'Upload'; +/* TODO */ $lang['Show upload link every time'] = 'Show upload link every time'; +/* TODO */ $lang['User access level to upload'] = 'User access level to upload'; +/* TODO */ $lang['ACCESS_0'] = 'Free access'; +/* TODO */ $lang['ACCESS_1'] = 'Access to all'; +/* TODO */ $lang['ACCESS_2'] = 'Access to subscribed'; +/* TODO */ $lang['ACCESS_3'] = 'Access to administrators'; +/* TODO */ $lang['ACCESS_4'] = 'Access to webmasters'; +/* TODO */ $lang['ACCESS_5'] = 'No access'; + ?> diff --git a/language/nl_NL/common.lang.php b/language/nl_NL/common.lang.php index 40c338d9a..4f20be252 100644 --- a/language/nl_NL/common.lang.php +++ b/language/nl_NL/common.lang.php @@ -306,7 +306,6 @@ $lang['title_send_mail'] = 'commentaar op je site'; $lang['today'] = 'vandaag'; $lang['update_rate'] = 'Werk je beoordeling bij'; $lang['update_wrong_dirname'] = 'verkeerde bestandsnaam'; -$lang['upload_advise'] = 'Kies een afbeelding om in een categorie te plaatsen : '; $lang['upload_advise_filesize'] = 'het bestandsformaat mag niet te groot zijn : '; $lang['upload_advise_filetype'] = 'de afbeelding moet een extensie hebbben die eindigt op jpg, gif of png'; $lang['upload_advise_height'] = 'de hoogte van de afbeelding mag niet te groot zijn : '; @@ -364,4 +363,6 @@ $lang['%d element are also linked to current tags'] = '%d image are also linked $lang['%d elements are also linked to current tags'] = '%d images are also linked to current tags'; $lang['See elements linked to this tag only'] = 'Toon afbeelding gelinkt met deze tag'; $lang['elements posted during the last %d days'] = 'afbeelding binnen de %d dagen'; +$lang['Choose an image'] = 'Kies een afbeelding om'; + ?> diff --git a/language/nl_NL/help/configuration.html b/language/nl_NL/help/configuration.html index 86ab7e6ec..78cd24169 100644 --- a/language/nl_NL/help/configuration.html +++ b/language/nl_NL/help/configuration.html @@ -27,8 +27,6 @@ configuratieparameters die zouden moeten zijn genoeg voor de overgrote meerderhe <li><strong>Email admins wanneer een nieuwe gebruiker zich registreerd</strong>: Administrators ontvangen een mailtje bij elke registratie.</li> - <li><strong>Email admins wanneer een afbeelding is ge-upload</strong>: Administrators ontvangen een mailtje voor elke ge-uploade bestand door gebruikers.</li> - </ul> <h3>Geschiedenis</h3> @@ -64,6 +62,13 @@ Gebruikers commentaar valideren gaat via het scherm <span class="pwgScreen">Admi </ul> +<!--TODO --><h3>Upload</h3> +<ul> +<!--TODO --> <li><strong>Show upload link every time</strong>: If exists uploadeable categories, add link will be show for each categoy.</li> +<!--TODO --> <li><strong>User access level to upload</strong>: Allows to restrict upload by users</li> + <li><strong>Email admins wanneer een afbeelding is ge-upload</strong>: Administrators ontvangen een mailtje voor elke ge-uploade bestand door gebruikers.</li> +</ul> + <h3>Standaard weergave</h3> <p>Hier kan je de weergave aan passen die als standaard worden ingesteld, die je gast ziet als hij zich niet heeft aangemeld. Eenmaal aangemeld worden deze @@ -25,7 +25,7 @@ //--------------------------------------------------------------------- include define('PHPWG_ROOT_PATH','./'); include_once(PHPWG_ROOT_PATH.'include/common.inc.php'); -check_status(ACCESS_NONE); +check_status(ACCESS_FREE); include_once(PHPWG_ROOT_PATH.'include/functions_notification.inc.php'); include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); diff --git a/password.php b/password.php index da2f4dcae..2161188b7 100644 --- a/password.php +++ b/password.php @@ -32,7 +32,7 @@ include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); // +-----------------------------------------------------------------------+ // | Check Access and exit when user status is not ok | // +-----------------------------------------------------------------------+ -check_status(ACCESS_NONE); +check_status(ACCESS_FREE); // +-----------------------------------------------------------------------+ // | send a new password | diff --git a/register.php b/register.php index ec3c7969b..7ce5f5207 100644 --- a/register.php +++ b/register.php @@ -28,7 +28,7 @@ include_once( PHPWG_ROOT_PATH.'include/common.inc.php' ); // +-----------------------------------------------------------------------+ // | Check Access and exit when user status is not ok | // +-----------------------------------------------------------------------+ -check_status(ACCESS_NONE); +check_status(ACCESS_FREE); //----------------------------------------------------------- user registration diff --git a/search_rules.php b/search_rules.php index d0a4fa5e5..436651844 100644 --- a/search_rules.php +++ b/search_rules.php @@ -39,7 +39,7 @@ function inc_exc_str($is_included) define('PHPWG_ROOT_PATH','./'); include_once( PHPWG_ROOT_PATH.'include/common.inc.php' ); -check_status(ACCESS_NONE); +check_status(ACCESS_FREE); include_once( PHPWG_ROOT_PATH.'include/functions_search.inc.php' ); $page['body_id'] = 'thePopuphelpPage'; diff --git a/template/yoga/admin/configuration.tpl b/template/yoga/admin/configuration.tpl index cccb879af..04d8c7855 100644 --- a/template/yoga/admin/configuration.tpl +++ b/template/yoga/admin/configuration.tpl @@ -79,13 +79,6 @@ <input type="checkbox" name="email_admin_on_new_user" {if ($main.email_admin_on_new_user)}checked="checked"{/if} /> </label> </li> - - <li> - <label> - <span class="property">{'Email administrators when a picture is uploaded'|@translate}</span> - <input type="checkbox" name="email_admin_on_picture_uploaded" {if ($main.email_admin_on_picture_uploaded)}checked="checked"{/if} /> - </label> - </li> </ul> </fieldset> {/if} @@ -152,6 +145,27 @@ </fieldset> {/if} +{if isset($upload)} +<fieldset id="uploadConf"> + <ul> + <li> + <label><span class="property">{'Show upload link every time'|@translate}</span> + <input type="checkbox" name="upload_link_everytime" {if ($upload.upload_link_everytime)}checked="checked"{/if} /></label> + </li> + <li> + <label><span class="property">{'User access level to upload'|@translate}</span> + {html_options name="upload_user_access" options=$upload.upload_user_access_options selected=$upload.upload_user_access_options_selected} + </li> + <li> + <label> + <span class="property">{'Email administrators when a picture is uploaded'|@translate}</span> + <input type="checkbox" name="email_admin_on_picture_uploaded" {if ($upload.email_admin_on_picture_uploaded)}checked="checked"{/if} /> + </label> + </li> + </ul> +</fieldset> +{/if} + {if isset($default)} {$PROFILE_CONTENT} {/if} diff --git a/template/yoga/admin/default-layout.css b/template/yoga/admin/default-layout.css index b458b72f4..45e352606 100644 --- a/template/yoga/admin/default-layout.css +++ b/template/yoga/admin/default-layout.css @@ -99,13 +99,15 @@ FORM#categoryPermissions LI { FIELDSET#mainConfCheck SPAN.property, FIELDSET#historyConf SPAN.property, -FIELDSET#commentsConf SPAN.property { +FIELDSET#commentsConf SPAN.property, +FIELDSET#uploadConf SPAN.property { float: right; text-align: left; } FIELDSET#mainConfCheck INPUT, FIELDSET#historyConf INPUT, -FIELDSET#commentsConf INPUT { +FIELDSET#commentsConf INPUT, +FIELDSET#uploadConf INPUT { float: none; } @@ -121,15 +123,19 @@ FIELDSET#historyConf SPAN.property { width: 90%; } FIELDSET#mainConfCheck INPUT, -FIELDSET#historyConf INPUT { +FIELDSET#historyConf INPUT, +FIELDSET#commentsConf INPUT, +FIELDSET#uploadConf SELECT, +FIELDSET#uploadConf INPUT { margin-left: 5%; } FIELDSET#commentsConf SPAN.property { width: 85%; } -FIELDSET#commentsConf INPUT { - margin-left: 5%; + +FIELDSET#uploadConf SPAN.property { + width: 75%; } /* PWG Links Menu is fixed Graphic charts */ diff --git a/template/yoga/admin/picture_modify.tpl b/template/yoga/admin/picture_modify.tpl index a48773e35..f6243acb9 100644 --- a/template/yoga/admin/picture_modify.tpl +++ b/template/yoga/admin/picture_modify.tpl @@ -115,14 +115,14 @@ <td><textarea name="description" class="description">{$DESCRIPTION}</textarea></td> </tr> - <tr> - <td><strong>{'Minimum privacy level'|@translate}</strong></td> - <td> - <select name="level" size="1"> - {html_options options=$level_options selected=$level_options_selected} - </select> - </td> - </tr> + <tr> + <td><strong>{'Minimum privacy level'|@translate}</strong></td> + <td> + <select name="level" size="1"> + {html_options options=$level_options selected=$level_options_selected} + </select> + </td> + </tr> </table> diff --git a/template/yoga/menubar.tpl b/template/yoga/menubar.tpl index b53af4b1e..fda136c29 100644 --- a/template/yoga/menubar.tpl +++ b/template/yoga/menubar.tpl @@ -3,20 +3,20 @@ <div id="menubar"> {if not empty($links)} <dl id="mbLinks"> - <dt>{'Links'|@translate}</dt> - <dd> - <ul> - {foreach from=$links item=link} - <li> - <a href="{$link.URL}" - {if isset($link.new_window) }onclick="window.open(this.href, '{$link.new_window.NAME|@escape:'javascript'}','{$link.new_window.FEATURES|@escape:'javascript'}'); return false;"{/if} - > - {$link.LABEL} - </a> - </li> - {/foreach}{*links*} - </ul> - </dd> + <dt>{'Links'|@translate}</dt> + <dd> + <ul> + {foreach from=$links item=link} + <li> + <a href="{$link.URL}" + {if isset($link.new_window) }onclick="window.open(this.href, '{$link.new_window.NAME|@escape:'javascript'}','{$link.new_window.FEATURES|@escape:'javascript'}'); return false;"{/if} + > + {$link.LABEL} + </a> + </li> + {/foreach}{*links*} + </ul> + </dd> </dl> {/if}{*links*} @@ -28,136 +28,136 @@ {/if} <dl id="mbCategories"> - <dt><a href="{$U_CATEGORIES}">{'Categories'|@translate}</a></dt> - <dd> - {$MENU_CATEGORIES_CONTENT} + <dt><a href="{$U_CATEGORIES}">{'Categories'|@translate}</a></dt> + <dd> + {$MENU_CATEGORIES_CONTENT} {if isset($U_UPLOAD)} <ul><li> <a href="{$U_UPLOAD}">{'upload_picture'|@translate}</a> </li></ul> {/if} - <p class="totalImages">{$pwg->l10n_dec('%d element', '%d elements', $NB_PICTURE)}</p> + <p class="totalImages">{$pwg->l10n_dec('%d element', '%d elements', $NB_PICTURE)}</p> </dd> </dl> {if not empty($related_tags)} <dl id="mbTags"> - <dt>{'Related tags'|@translate}</dt> - <dd> - <ul id="menuTagCloud"> - {foreach from=$related_tags item=tag} - <li> - {if !empty($tag.add) } - <a href="{$tag.add.URL}" - title="{$pwg->l10n_dec('%d element are also linked to current tags', '%d elements are also linked to current tags', $tag.add.COUNTER)}" - rel="nofollow"> - <img src="{$ROOT_URL}{$themeconf.icon_dir}/add_tag.png" alt="+" /> - </a> - {/if} - <a href="{$tag.U_TAG}" class="{$tag.CLASS}" title="{'See elements linked to this tag only'|@translate}">{$tag.NAME}</a> - </li> - {/foreach} - </ul> - </dd> + <dt>{'Related tags'|@translate}</dt> + <dd> + <ul id="menuTagCloud"> + {foreach from=$related_tags item=tag} + <li> + {if !empty($tag.add) } + <a href="{$tag.add.URL}" + title="{$pwg->l10n_dec('%d element are also linked to current tags', '%d elements are also linked to current tags', $tag.add.COUNTER)}" + rel="nofollow"> + <img src="{$ROOT_URL}{$themeconf.icon_dir}/add_tag.png" alt="+" /> + </a> + {/if} + <a href="{$tag.U_TAG}" class="{$tag.CLASS}" title="{'See elements linked to this tag only'|@translate}">{$tag.NAME}</a> + </li> + {/foreach} + </ul> + </dd> </dl> {/if} <dl id="mbSpecial"> - <dt>{'special_categories'|@translate}</dt> - <dd> - <ul> - {foreach from=$special_categories item=cat} - <li><a href="{$cat.URL}" title="{$cat.TITLE}" {if isset($cat.REL)}{$cat.REL}{/if}>{$cat.NAME}</a></li> - {/foreach} - </ul> - </dd> + <dt>{'special_categories'|@translate}</dt> + <dd> + <ul> + {foreach from=$special_categories item=cat} + <li><a href="{$cat.URL}" title="{$cat.TITLE}" {if isset($cat.REL)}{$cat.REL}{/if}>{$cat.NAME}</a></li> + {/foreach} + </ul> + </dd> </dl> <dl id="mbMenu"> - <dt>{'title_menu'|@translate}</dt> - <dd> - <form action="{$ROOT_URL}qsearch.php" method="get" id="quicksearch"> - <p> - <input type="text" name="q" id="qsearchInput" onfocus="if (value==qsearch_prompt) value='';" onblur="if (value=='') value=qsearch_prompt;" /> - </p> - </form> - <script type="text/javascript">var qsearch_prompt="{'qsearch'|@translate|@escape:'javascript'}"; document.getElementById('qsearchInput').value=qsearch_prompt;</script> - - <ul> - {foreach from=$summaries item=sum} - <li><a href="{$sum.U_SUMMARY}" title="{$sum.TITLE}" {if isset($sum.REL)}{$sum.REL}{/if}>{$sum.NAME}</a></li> - {/foreach} - </ul> - </dd> + <dt>{'title_menu'|@translate}</dt> + <dd> + <form action="{$ROOT_URL}qsearch.php" method="get" id="quicksearch"> + <p> + <input type="text" name="q" id="qsearchInput" onfocus="if (value==qsearch_prompt) value='';" onblur="if (value=='') value=qsearch_prompt;" /> + </p> + </form> + <script type="text/javascript">var qsearch_prompt="{'qsearch'|@translate|@escape:'javascript'}"; document.getElementById('qsearchInput').value=qsearch_prompt;</script> + + <ul> + {foreach from=$summaries item=sum} + <li><a href="{$sum.U_SUMMARY}" title="{$sum.TITLE}" {if isset($sum.REL)}{$sum.REL}{/if}>{$sum.NAME}</a></li> + {/foreach} + </ul> + </dd> </dl> <dl id="mbIdentification"> - <dt>{'identification'|@translate}</dt> - <dd> + <dt>{'identification'|@translate}</dt> + <dd> {if isset($USERNAME)} <p>{'hello'|@translate} {$USERNAME} !</p> {/if} - <ul> - {if isset($U_REGISTER)} - <li><a href="{$U_REGISTER}" title="{'Create a new account'|@translate}" rel="nofollow">{'Register'|@translate}</a></li> - {/if} - - {if isset($U_IDENTIFY)} - <li><a href="{$U_IDENTIFY}" rel="nofollow">{'Connection'|@translate}</a></li> - {/if} - - {if isset($U_LOGOUT)} - <li><a href="{$U_LOGOUT}">{'logout'|@translate}</a></li> - {/if} - - {if isset($U_PROFILE)} - <li><a href="{$U_PROFILE}" title="{'hint_customize'|@translate}">{'customize'|@translate}</a></li> - {/if} - - {if isset($U_ADMIN)} - <li><a href="{$U_ADMIN}" title="{'hint_admin'|@translate}">{'admin'|@translate}</a></li> - {/if} - </ul> - - {if isset($U_IDENTIFY)} - <form method="post" action="{$U_IDENTIFY}" class="filter" id="quickconnect"> - <fieldset> - <legend>{'Quick connect'|@translate}</legend> - - <label> - {'Username'|@translate} - <input type="text" name="username" size="15" value=""> - </label> - - <label> - {'Password'|@translate} - <input type="password" name="password" size="15"> - </label> - - {if $AUTHORIZE_REMEMBERING} - <label> - {'remember_me'|@translate} - <input type="checkbox" name="remember_me" value="1"> - </label> - {/if} - <p> - <input class="submit" type="submit" name="login" value="{'Submit'|@translate}"> - </p> - - <ul class="actions"> - <li><a href="{$U_LOST_PASSWORD}" title="{'Forgot your password?'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/lost_password.png" class="button" alt="{'Forgot your password?'|@translate}"></a></li> - {if isset($U_REGISTER)} - <li><a href="{$U_REGISTER}" title="{'Create a new account'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/register.png" class="button" alt="{'Register'|@translate}"/></a></li> - {/if} - </ul> - - </fieldset> - </form> + <ul> + {if isset($U_REGISTER)} + <li><a href="{$U_REGISTER}" title="{'Create a new account'|@translate}" rel="nofollow">{'Register'|@translate}</a></li> + {/if} + + {if isset($U_IDENTIFY)} + <li><a href="{$U_IDENTIFY}" rel="nofollow">{'Connection'|@translate}</a></li> + {/if} + + {if isset($U_LOGOUT)} + <li><a href="{$U_LOGOUT}">{'logout'|@translate}</a></li> + {/if} + + {if isset($U_PROFILE)} + <li><a href="{$U_PROFILE}" title="{'hint_customize'|@translate}">{'customize'|@translate}</a></li> + {/if} + + {if isset($U_ADMIN)} + <li><a href="{$U_ADMIN}" title="{'hint_admin'|@translate}">{'admin'|@translate}</a></li> + {/if} + </ul> + + {if isset($U_IDENTIFY)} + <form method="post" action="{$U_IDENTIFY}" class="filter" id="quickconnect"> + <fieldset> + <legend>{'Quick connect'|@translate}</legend> + + <label> + {'Username'|@translate} + <input type="text" name="username" size="15" value=""> + </label> + + <label> + {'Password'|@translate} + <input type="password" name="password" size="15"> + </label> + + {if $AUTHORIZE_REMEMBERING} + <label> + {'remember_me'|@translate} + <input type="checkbox" name="remember_me" value="1"> + </label> + {/if} + <p> + <input class="submit" type="submit" name="login" value="{'Submit'|@translate}"> + </p> + + <ul class="actions"> + <li><a href="{$U_LOST_PASSWORD}" title="{'Forgot your password?'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/lost_password.png" class="button" alt="{'Forgot your password?'|@translate}"></a></li> + {if isset($U_REGISTER)} + <li><a href="{$U_REGISTER}" title="{'Create a new account'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/register.png" class="button" alt="{'Register'|@translate}"/></a></li> + {/if} + </ul> + + </fieldset> + </form> {/if} </dd> diff --git a/template/yoga/upload.tpl b/template/yoga/upload.tpl index 1aad667e3..78ef36585 100644 --- a/template/yoga/upload.tpl +++ b/template/yoga/upload.tpl @@ -35,50 +35,57 @@ </td> </tr> <tr> - <td colspan="2" align="center" style="padding:10px;"> + <td colspan="2" align="center"> <input name="picture" type="file" value="" /> </td> </tr> {if isset($SHOW_FORM_FIELDS) and $SHOW_FORM_FIELDS} - <!-- username --> + <!-- category --> + <tr> + <td>{'Category'|@translate}</td> + <td> + {html_options name="category" options=$categories selected=$categories_selected} + </td> + </tr> + <!-- username --> <tr> - <td class="menu">{'Username'|@translate} <span style="color:red;">*</span></td> - <td align="left" style="padding:10px;"> + <td>{'Username'|@translate} <span style="color:red;">*</span></td> + <td> <input name="username" type="text" value="{$NAME}" /> </td> </tr> - <!-- mail address --> + <!-- mail address --> <tr> - <td class="menu">{'mail_address'|@translate} <span style="color:red;">*</span></td> - <td align="left" style="padding:10px;"> + <td>{'mail_address'|@translate} <span style="color:red;">*</span></td> + <td> <input name="mail_address" type="text" value="{$EMAIL}" /> </td> </tr> - <!-- name of the picture --> + <!-- name of the picture --> <tr> - <td class="menu">{'upload_name'|@translate}</td> - <td align="left" style="padding:10px;"> + <td>{'upload_name'|@translate}</td> + <td> <input name="name" type="text" value="{$NAME_IMG}" /> </td> </tr> - <!-- author --> + <!-- author --> <tr> - <td class="menu">{'upload_author'|@translate}</td> - <td align="left" style="padding:10px;"> + <td>{'upload_author'|@translate}</td> + <td> <input name="author" type="text" value="{$AUTHOR_IMG}" /> </td> </tr> - <!-- date of creation --> + <!-- date of creation --> <tr> - <td class="menu">{'Creation date'|@translate} (DD/MM/YYYY)</td> - <td align="left" style="padding:10px;"> + <td>{'Creation date'|@translate} (DD/MM/YYYY)</td> + <td> <input name="date_creation" type="text" value="{$DATE_IMG}" /> </td> </tr> - <!-- comment --> + <!-- comment --> <tr> - <td class="menu">{'comment'|@translate}</td> - <td align="left" style="padding:10px;"> + <td>{'comment'|@translate}</td> + <td> <textarea name="comment" rows="3" cols="40" style="overflow:auto">{$COMMENT_IMG}</textarea> </td> </tr> diff --git a/upload.php b/upload.php index 97b1f99af..83131c80d 100644 --- a/upload.php +++ b/upload.php @@ -20,17 +20,32 @@ // | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | // | USA. | // +-----------------------------------------------------------------------+ + define('PHPWG_ROOT_PATH','./'); -include_once( PHPWG_ROOT_PATH.'include/common.inc.php' ); -check_status(ACCESS_GUEST); +// +-----------------------------------------------------------------------+ +// | Includes | +// +-----------------------------------------------------------------------+ +include_once(PHPWG_ROOT_PATH.'include/common.inc.php'); +include_once(PHPWG_ROOT_PATH.'include/upload.class.php'); -$username = !empty($_POST['username'])?$_POST['username']:$user['username']; -$mail_address = !empty($_POST['mail_address'])?$_POST['mail_address']:@$user['mail_address']; -$name = !empty($_POST['name'])?$_POST['name']:''; -$author = !empty($_POST['author'])?$_POST['author']:''; -$date_creation = !empty($_POST['date_creation'])?$_POST['date_creation']:''; -$comment = !empty($_POST['comment'])?$_POST['comment']:''; +// +-----------------------------------------------------------------------+ +// | Check Access and exit when user status is not ok | +// +-----------------------------------------------------------------------+ +check_status($conf['upload_user_access']); + +// +-----------------------------------------------------------------------+ +// | Create upload object | +// +-----------------------------------------------------------------------+ +$upload = new Upload(); + + +$username = !empty($_POST['username']) ? $_POST['username']:(is_classic_user() ? $user['username'] : ''); +$mail_address = !empty($_POST['mail_address']) ? $_POST['mail_address'] : (is_classic_user() ? $user['email'] : ''); +$name = !empty($_POST['name']) ? $_POST['name'] : ''; +$author = !empty($_POST['author']) ? $_POST['author'] : (is_classic_user() ? $user['username'] : ''); +$date_creation = !empty($_POST['date_creation']) ? $_POST['date_creation'] : ''; +$comment = !empty($_POST['comment']) ? $_POST['comment'] : ''; //------------------------------------------------------------------- functions // The validate_upload function checks if the image of the given path is valid. @@ -121,24 +136,42 @@ function validate_upload( $temp_name, $my_max_file_size, } //-------------------------------------------------- access authorization check +if (isset($_POST['category']) and is_numeric($_POST['category'])) +{ + $page['category'] = $_POST['category']; +} +else if (isset($_GET['cat']) and is_numeric($_GET['cat'])) { $page['category'] = $_GET['cat']; } +else +{ + $page['category'] = null; +} -if (isset($page['category'])) +if (! empty($page['category'])) { - check_restrictions( $page['category'] ); - $category = get_cat_info( $page['category'] ); - $category['cat_dir'] = get_complete_dir( $page['category'] ); + check_restrictions($page['category']); + $category = get_cat_info($page['category']); + $category['cat_dir'] = get_complete_dir($page['category']); if (url_is_remote($category['cat_dir']) or !$category['uploadable']) { page_forbidden('upload not allowed'); } } -else { // $page['category'] may be set by a futur plugin but without it - bad_request('invalid parameters'); +else +{ + if (isset($_POST['submit'])) + { + // $page['category'] may be set by a futur plugin but without it + bad_request('invalid parameters'); + } + else + { + $category = null; + } } $error = array(); @@ -147,6 +180,7 @@ if ( isset( $_GET['waiting_id'] ) ) { $page['waiting_id'] = $_GET['waiting_id']; } + //-------------------------------------------------------------- picture upload // verfying fields if ( isset( $_POST['submit'] ) and !isset( $_GET['waiting_id'] ) ) @@ -296,6 +330,25 @@ $page['body_id'] = 'theUploadPage'; include(PHPWG_ROOT_PATH.'include/page_header.php'); $template->set_filenames(array('upload'=>'upload.tpl')); +// Load category list +$query = ' +SELECT + id, name, uppercats, global_rank +FROM '.CATEGORIES_TABLE.' INNER JOIN '.USER_CACHE_CATEGORIES_TABLE.' + ON id = cat_id and user_id = '.$user['id'].' +WHERE + uploadable = \'true\' + '.get_sql_condition_FandF + ( + array + ( + 'visible_categories' => 'id', + ), + 'AND' + ).' +;'; +display_select_cat_wrapper($query, array($page['category']), 'categories'); + $u_form = PHPWG_ROOT_PATH.'upload.php?cat='.$page['category']; if ( isset( $page['waiting_id'] ) ) { @@ -304,12 +357,11 @@ $u_form.= '&waiting_id='.$page['waiting_id']; if ( isset( $page['waiting_id'] ) ) { - $advise_title=l10n('upload_advise_thumbnail').$_FILES['picture']['name']; + $advise_title = l10n('upload_advise_thumbnail').$_FILES['picture']['name']; } else { - $advise_title = l10n('upload_advise'); - $advise_title.= get_cat_display_name($category['upper_names']); + $advise_title = l10n('Choose an image'); } $template->assign( @@ -24,7 +24,7 @@ define ('PHPWG_ROOT_PATH', './'); include_once(PHPWG_ROOT_PATH.'include/common.inc.php'); -check_status(ACCESS_NONE); +check_status(ACCESS_FREE); include_once(PHPWG_ROOT_PATH.'include/ws_core.inc.php'); if ( !$conf['allow_web_services'] ) |