- update: upgrade from 1.4.0 or 1.4.1. Upgrade from 1.3.x is not available

anymore.

- update: README files updated for very near branch 1.5 :-)

- new: file tools/config_local.inc.php as example for optional
  include/config_local.inc.php

- bug fixed: configuration parameter show_picture_name_on_title was useless


git-svn-id: http://piwigo.org/svn/trunk@870 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
plegall 2005-09-20 22:04:57 +00:00
parent 541c302c40
commit 1673892026
15 changed files with 691 additions and 2089 deletions

View file

@ -1,3 +1,16 @@
2005-09-20 Pierrick LE GALL
* update: upgrade from 1.4.0 or 1.4.1. Upgrade from 1.3.x is not
available anymore.
* update: README files updated for very near branch 1.5 :-)
* new: file tools/config_local.inc.php as example for optional
include/config_local.inc.php
* bug fixed: configuration parameter show_picture_name_on_title
was useless
2005-09-18 Pierrick LE GALL
* bug 111 fixed: "Can't add virtual category when cookie

View file

@ -1,12 +1,12 @@
PhpWebGallery
=============
PhpWebGallery
=============
official website : http://phpwebgallery.net
documentation : http://doc.phpwebgallery.net
forum : http://forum.phpwebgallery.net
http://phpwebgallery.net
+-----------------------------------------------------------------------------+
| Installation instructions |
+-----------------------------------------------------------------------------+
Installation
============
1. extract files from the downloaded file (using tar or unzip command, or
softwares like 7-zip or winzip)
@ -17,9 +17,8 @@ forum : http://forum.phpwebgallery.net
3. go to the URL http://your.domain/gallery/install.php and follow the
instructions of installation
+-----------------------------------------------------------------------------+
| Upgrade instructions |
+-----------------------------------------------------------------------------+
Upgrade
=======
1. elements to save :
@ -40,9 +39,8 @@ forum : http://forum.phpwebgallery.net
5. go to the URL http://your.domain/gallery/upgrade.php and follow the
instructions
+-----------------------------------------------------------------------------+
| How to start |
+-----------------------------------------------------------------------------+
How to start
============
Once installed or upgraded, your gallery is ready to run. Start by
displaying the installation directory in your browser :
@ -55,37 +53,49 @@ page will appear : Administration. Enter the administration panel.
In the administration panel, take all your time for reading instructions
explaining how to use your gallery.
+-----------------------------------------------------------------------------+
| Newsletter |
+-----------------------------------------------------------------------------+
Communication
=============
Newsletter
----------
https://gna.org/mail/?group=phpwebgallery
It is *highly* recommended to subscribe to PhpWebGallery newsletter. This is
extremely low-traffic, but will provide you with announcements of new
PhpWebGallery releases and serious bug notification. You will find available
mailing lists at this URL :
https://gna.org/mail/?group=phpwebgallery
No spam, no commercial use.
Be sure that the mail address you are going to give for newsletter is
completely unreadable by someone else than PhpWebGallery team and not
present on any web page (a web search engine won't find it).
Freshmeat
---------
PhpWebGallery also assure you that your mail address will NEVER be used for
something else than PhpWebGallery informations.
http://freshmeat.net/projects/phpwebgallery
+-----------------------------------------------------------------------------+
| Discussion forum |
+-----------------------------------------------------------------------------+
Want to stay informed at each release, stable and development
release. Development releases notification are not send in the newsletter.
A forum is available and recommended for any question (installation, bug
reports, new feature requests) :
Bugtracker
----------
http://forum.phpwebgallery.net
http://bugs.phpwebgallery.net
Before asking any question on the forum, do not hesitate to search for
related topics... other users may have found same bugs, had same requests.
Bugs and change requests tracking. The best way to have your bug corrected:
it won't be forgotten (as in the forum).
PhpWebGallery forum is a place open to every one. Please be always
respectful in this place. Consider also that clear messages (with simple and
direct subjects) are always prefered. It is forbidden (and useless) to say
that your question is "urgent", you won't be answered in priority.
Wiki
----
http://phpwebgallery.net/doc
Wiki documentation: everyone can participate to improve documentation
content.
Message board
-------------
http://forum.phpwebgallery.net
All communications (installation help, technical discussions) that can't be
done in other channels.

View file

@ -1,12 +1,11 @@
PhpWebGallery
=============
PhpWebGallery
=============
site officel : http://phpwebgallery.net
documentation : http://doc.phpwebgallery.net
forum : http://forum.phpwebgallery.net
http://phpwebgallery.net
+-----------------------------------------------------------------------------+
| installation |
+-----------------------------------------------------------------------------+
Installation
============
1. décompresser à l'aide de winzip par exemple (winrar, winace et beaucoup
d'autres le permettent également) le fichier téléchargé.
@ -17,9 +16,8 @@ forum : http://forum.phpwebgallery.net
3. se rendre à l'URL http://votre.domaine/galerie/install.php et suivre les
instructions
+-----------------------------------------------------------------------------+
| mise à jour |
+-----------------------------------------------------------------------------+
Mise à jour
===========
1. éléments à sauvegarder :
@ -40,9 +38,8 @@ forum : http://forum.phpwebgallery.net
5. se rendre à l'URL http://votre.domaine/galerie/upgrade.php et suivre les
instructions
+-----------------------------------------------------------------------------+
| Comment commencer |
+-----------------------------------------------------------------------------+
Comment commencer
=================
Une fois installée ou mise à jour, votre galerie est prête à
fonctionner. Commencez par vous rendre sur le répertoire d'installation dans
@ -57,9 +54,13 @@ Administration. Suivre ce lien :-)
Dans la zone d'administration, prenez tout le temps nécessaire pour
consulter les instructions, expliquant comment utiliser votre galerie.
+-----------------------------------------------------------------------------+
| newsletter |
+-----------------------------------------------------------------------------+
Communication
=============
Newsletter
----------
https://gna.org/mail/?group=phpwebgallery
Il est *fortement* recommandé de souscrire à la newsletter de
PhpWebGallery. Très peu de mails sont envoyés, mais les informations sont
@ -67,31 +68,45 @@ importantes : nouvelles versions de l'application, notification de bugs
importants (relatifs à la sécurité). Vous trouverez les listes de
discussions disponibles sur la page suivante :
https://gna.org/mail/?group=phpwebgallery
Pas de spam, pas d'utilisation commerciale.
Etant moi-même très dérangé par le spam (courrier non solicité), je peux
vous assurer que le mail que vous allez donner à l'équipe de PhpWebGallery
est absolument illisible autrement que par nous sur une page avec accès
sécurisé dont l'URL n'est en lien nul part sur le web (donc introuvable par
un moteur de recherche).
Freshmeat
---------
L'équipe de PhpWebGallery vous assure également que JAMAIS l'adresse qui
nous a été confiée ne sera utilisée dans un autre cadre que la newsletter de
PhpWebGallery.
http://freshmeat.net/projects/phpwebgallery
+-----------------------------------------------------------------------------+
| forum de discussion |
+-----------------------------------------------------------------------------+
Permet d'être au courant des sorties de toutes les releases, et en
exclusivité les builds de la branche de développement (ce qui n'est pas
prévu sur les mailing lists "announce").
Un forum est disponible et recommandé pour toutes vos questions
(installation, rapport de bugs, demandes de nouvelles fonctionnalités) :
Outil de suivi de bogues
------------------------
http://forum.phpwebgallery.net
http://bugs.phpwebgallery.net
Avant le poser une question, assurez-vous qu'elle n'a pas déjà sa réponse en
effectuant une recherche.
Gestion des bugs, mais aussi demande de nouvelles fonctionnalités. Rien de
plus efficace pour qu'un bug soit corrigé : tant qu'il ne l'est pas, la
"fiche" reste là à attendre, on ne l'oublie pas comme un topic sur le
forum.
Le forum est ouvert à tous. Merci d'y faire preuve de respect. Rappelez-vous
que les messages clairs (avec un sujet direct et un énoncé du problème
précis) sont toujours préférés. Il est interdit (et surtout inutile) de dire
que votre question est "urgente", on ne vous répondra pas en priorité.
Les demandes d'évolutions sont également gérées dans cet outil. Ce n'est pas
forcément idéal car il ne s'agit pas de la même chose, mais le suivi du dev
d'une nouvelle fonctionnalité peut se modéliser de la même façon que le
suivi de la correction d'un bug.
Wiki
----
http://phpwebgallery.net/doc
Documentation suivant le système du wiki. Chacun peut participer à
l'amélioration de la doc.
Forum de discussion
-------------------
http://forum.phpwebgallery.net
Un forum est disponible et recommandé pour toutes les questions autres que
les demandes d'évolution et rapport de bogue (installation, discussions
techniques).

View file

@ -34,7 +34,7 @@
*
* It is recommended to let config_default.inc.php as provided and to
* overwrite configuration in your local configuration file
* config_local.inc.php
* config_local.inc.php. See tools/config_local.inc.php as an example.
*
* Why having some parameters in config table and others in
* config_*.inc.php? Modifying config_*.inc.php is a "hard" task for low

View file

@ -1,160 +0,0 @@
table:caddie
table:categories
table:comments
table:config
table:favorites
table:group_access
table:groups
table:history
table:image_category
table:images
table:rate
table:sessions
table:sites
table:user_access
table:user_forbidden
table:user_group
table:users
table:waiting
column:user_id table:caddie type:smallint nullable:N length:5 signed:Y
column:element_id table:caddie type:mediumint nullable:N length:8 signed:Y
column:id table:categories type:smallint nullable:N length:5 signed:N
column:date_last table:categories type:datetime nullable:Y
column:nb_images table:categories type:mediumint nullable:N length:8 signed:N
column:name table:categories type:varchar nullable:N length:255 binary:N
column:id_uppercat table:categories type:smallint nullable:Y length:5 signed:N
column:comment table:categories type:text nullable:Y
column:dir table:categories type:varchar nullable:Y length:255 binary:N
column:rank table:categories type:tinyint nullable:Y length:3 signed:N
column:status table:categories type:enum('public','private') nullable:N
column:site_id table:categories type:tinyint nullable:Y length:4 signed:N
column:visible table:categories type:enum('true','false') nullable:N
column:uploadable table:categories type:enum('true','false') nullable:N
column:representative_picture_id table:categories type:mediumint nullable:Y length:8 signed:N
column:uppercats table:categories type:varchar nullable:N length:255 binary:N
column:commentable table:categories type:enum('true','false') nullable:N
column:global_rank table:categories type:varchar nullable:Y length:255 binary:N
column:id table:comments type:int nullable:N length:11 signed:N
column:image_id table:comments type:mediumint nullable:N length:8 signed:N
column:date table:comments type:datetime nullable:N
column:author table:comments type:varchar nullable:Y length:255 binary:N
column:content table:comments type:longtext nullable:Y
column:validated table:comments type:enum('true','false') nullable:N
column:validation_date table:comments type:datetime nullable:Y
column:param table:config type:varchar nullable:N length:40 binary:N
column:value table:config type:varchar nullable:Y length:255 binary:N
column:comment table:config type:varchar nullable:Y length:255 binary:N
column:user_id table:favorites type:smallint nullable:N length:5 signed:N
column:image_id table:favorites type:mediumint nullable:N length:8 signed:N
column:group_id table:group_access type:smallint nullable:N length:5 signed:N
column:cat_id table:group_access type:smallint nullable:N length:5 signed:N
column:id table:groups type:smallint nullable:N length:5 signed:N
column:name table:groups type:varchar nullable:N length:255 binary:N
column:date table:history type:datetime nullable:N
column:login table:history type:varchar nullable:Y length:15 binary:N
column:IP table:history type:varchar nullable:N length:50 binary:N
column:category table:history type:varchar nullable:Y length:150 binary:N
column:file table:history type:varchar nullable:Y length:50 binary:N
column:picture table:history type:varchar nullable:Y length:150 binary:N
column:image_id table:image_category type:mediumint nullable:N length:8 signed:N
column:category_id table:image_category type:smallint nullable:N length:5 signed:N
column:id table:images type:mediumint nullable:N length:8 signed:N
column:file table:images type:varchar nullable:N length:255 binary:N
column:date_available table:images type:datetime nullable:N
column:date_creation table:images type:date nullable:Y
column:tn_ext table:images type:varchar nullable:Y length:4 binary:N
column:name table:images type:varchar nullable:Y length:255 binary:N
column:comment table:images type:text nullable:Y
column:author table:images type:varchar nullable:Y length:255 binary:N
column:hit table:images type:int nullable:N length:10 signed:N
column:filesize table:images type:mediumint nullable:Y length:9 signed:N
column:width table:images type:smallint nullable:Y length:9 signed:N
column:height table:images type:smallint nullable:Y length:9 signed:N
column:keywords table:images type:varchar nullable:Y length:255 binary:N
column:storage_category_id table:images type:smallint nullable:Y length:5 signed:N
column:representative_ext table:images type:varchar nullable:Y length:4 binary:N
column:date_metadata_update table:images type:date nullable:Y
column:average_rate table:images type:float nullable:Y length:5,2 signed:N
column:path table:images type:varchar nullable:N length:255 binary:N
column:user_id table:rate type:smallint nullable:N length:5 signed:N
column:element_id table:rate type:mediumint nullable:N length:8 signed:N
column:rate table:rate type:tinyint nullable:N length:2 signed:N
column:id table:sessions type:varchar nullable:N length:255 binary:Y
column:user_id table:sessions type:smallint nullable:N length:5 signed:N
column:expiration table:sessions type:datetime nullable:N
column:id table:sites type:tinyint nullable:N length:4 signed:Y
column:galleries_url table:sites type:varchar nullable:N length:255 binary:N
column:user_id table:user_access type:smallint nullable:N length:5 signed:N
column:cat_id table:user_access type:smallint nullable:N length:5 signed:N
column:user_id table:user_forbidden type:smallint nullable:N length:5 signed:N
column:need_update table:user_forbidden type:enum('true','false') nullable:N
column:forbidden_categories table:user_forbidden type:text nullable:Y
column:user_id table:user_group type:smallint nullable:N length:5 signed:N
column:group_id table:user_group type:smallint nullable:N length:5 signed:N
column:id table:users type:smallint nullable:N length:5 signed:N
column:username table:users type:varchar nullable:N length:20 binary:Y
column:password table:users type:varchar nullable:Y length:32 binary:N
column:mail_address table:users type:varchar nullable:Y length:255 binary:N
column:nb_image_line table:users type:tinyint nullable:N length:1 signed:N
column:nb_line_page table:users type:tinyint nullable:N length:3 signed:N
column:status table:users type:enum('admin','guest') nullable:N
column:language table:users type:varchar nullable:N length:50 binary:N
column:maxwidth table:users type:smallint nullable:Y length:6 signed:Y
column:maxheight table:users type:smallint nullable:Y length:6 signed:Y
column:expand table:users type:enum('true','false') nullable:N
column:show_nb_comments table:users type:enum('true','false') nullable:N
column:recent_period table:users type:tinyint nullable:N length:3 signed:N
column:template table:users type:varchar nullable:N length:255 binary:N
column:last_feed_check table:users type:datetime nullable:Y
column:feed_id table:users type:varchar nullable:Y length:50 binary:Y
column:registration_date table:users type:datetime nullable:N
column:id table:waiting type:int nullable:N length:10 signed:N
column:storage_category_id table:waiting type:smallint nullable:N length:5 signed:N
column:file table:waiting type:varchar nullable:N length:255 binary:N
column:username table:waiting type:varchar nullable:N length:255 binary:N
column:mail_address table:waiting type:varchar nullable:N length:255 binary:N
column:date table:waiting type:int nullable:N length:10 signed:N
column:tn_ext table:waiting type:char nullable:Y length:3 binary:N
column:validated table:waiting type:enum('true','false') nullable:N
column:infos table:waiting type:text nullable:Y
PK:caddie_pk table:caddie column:user_id
PK:caddie_pk table:caddie column:element_id
PK:categories_pk table:categories column:id
PK:comments_pk table:comments column:id
PK:config_pk table:config column:param
PK:favorites_pk table:favorites column:user_id
PK:favorites_pk table:favorites column:image_id
PK:group_access_pk table:group_access column:group_id
PK:group_access_pk table:group_access column:cat_id
PK:groups_pk table:groups column:id
PK:image_category_pk table:image_category column:image_id
PK:image_category_pk table:image_category column:category_id
PK:images_pk table:images column:id
PK:rate_pk table:rate column:user_id
PK:rate_pk table:rate column:element_id
PK:sessions_pk table:sessions column:id
PK:sites_pk table:sites column:id
PK:user_access_pk table:user_access column:user_id
PK:user_access_pk table:user_access column:cat_id
PK:user_forbidden_pk table:user_forbidden column:user_id
PK:user_group_pk table:user_group column:group_id
PK:user_group_pk table:user_group column:user_id
PK:users_pk table:users column:id
PK:waiting_pk table:waiting column:id
index:categories_i2 table:categories column:id_uppercat
index:comments_i2 table:comments column:validation_date
index:comments_i1 table:comments column:image_id
index:history_i1 table:history column:date
index:image_category_i1 table:image_category column:image_id
index:image_category_i2 table:image_category column:category_id
index:images_i2 table:images column:date_available
index:images_i1 table:images column:storage_category_id
index:images_i3 table:images column:average_rate
index:images_i4 table:images column:hit
index:images_i5 table:images column:date_creation
index:sites_ui1 table:sites column:galleries_url
index:users_ui1 table:users column:username

View file

@ -1,401 +0,0 @@
<?php
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | 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('IN_UPGRADE') or !IN_UPGRADE)
{
die('Hacking attempt!');
}
$last_time = get_moment();
// save data before deletion
$query = '
SELECT prefix_thumbnail, mail_webmaster
FROM '.PREFIX_TABLE.'config
;';
$save = mysql_fetch_array(mysql_query($query));
$queries = array(
"
DROP TABLE phpwebgallery_config
;",
"
CREATE TABLE phpwebgallery_config (
param varchar(40) NOT NULL default '',
value varchar(255) default NULL,
comment varchar(255) default NULL,
PRIMARY KEY (param)
) TYPE=MyISAM COMMENT='configuration table'
;",
"
ALTER TABLE phpwebgallery_categories
CHANGE COLUMN site_id site_id tinyint(4) unsigned default '1',
ADD COLUMN commentable enum('true','false') NOT NULL default 'true',
ADD COLUMN uppercats varchar(255) NOT NULL default '',
ADD COLUMN global_rank varchar(255) default NULL,
ADD INDEX categories_i2 (id_uppercat)
;",
"
ALTER TABLE phpwebgallery_comments
ADD COLUMN date_temp int(11) unsigned
;",
"
UPDATE phpwebgallery_comments
SET date_temp = date
;",
"
ALTER TABLE phpwebgallery_comments
CHANGE COLUMN date date datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
UPDATE phpwebgallery_comments
SET date = FROM_UNIXTIME(date_temp)
;",
"
ALTER TABLE phpwebgallery_comments
DROP COLUMN date_temp
;",
"
ALTER TABLE phpwebgallery_favorites
DROP INDEX user_id,
ADD PRIMARY KEY (user_id,image_id)
;",
"
ALTER TABLE phpwebgallery_history
ADD COLUMN date_temp int(11) unsigned
;",
"
UPDATE phpwebgallery_history
SET date_temp = date
;",
"
ALTER TABLE phpwebgallery_history
CHANGE COLUMN date date datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
UPDATE phpwebgallery_history
SET date = FROM_UNIXTIME(date_temp)
;",
"
ALTER TABLE phpwebgallery_history
DROP COLUMN date_temp
;",
"
ALTER TABLE phpwebgallery_history
ADD INDEX history_i1 (date)
;",
"
ALTER TABLE phpwebgallery_image_category
ADD INDEX image_category_i1 (image_id),
ADD INDEX image_category_i2 (category_id)
;",
"
ALTER TABLE phpwebgallery_images
CHANGE COLUMN tn_ext tn_ext varchar(4) default '',
ADD COLUMN path varchar(255) NOT NULL default '',
ADD COLUMN date_metadata_update date default NULL,
ADD COLUMN average_rate float(5,2) unsigned default NULL,
ADD COLUMN representative_ext varchar(4) default NULL,
DROP INDEX storage_category_id,
ADD INDEX images_i1 (storage_category_id),
ADD INDEX images_i2 (date_available),
ADD INDEX images_i3 (average_rate),
ADD INDEX images_i4 (hit),
ADD INDEX images_i5 (date_creation)
;",
"
ALTER TABLE phpwebgallery_sessions
DROP COLUMN ip
;",
"
ALTER TABLE phpwebgallery_sessions
ADD COLUMN expiration_temp int(11) unsigned
;",
"
UPDATE phpwebgallery_sessions
SET expiration_temp = expiration
;",
"
ALTER TABLE phpwebgallery_sessions
CHANGE COLUMN expiration expiration datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
UPDATE phpwebgallery_sessions
SET expiration = FROM_UNIXTIME(expiration_temp)
;",
"
ALTER TABLE phpwebgallery_sessions
DROP COLUMN expiration_temp
;",
"
ALTER TABLE phpwebgallery_sites
DROP INDEX galleries_url,
ADD UNIQUE sites_ui1 (galleries_url)
;",
"
ALTER TABLE phpwebgallery_users
DROP COLUMN long_period,
DROP COLUMN short_period,
ADD COLUMN recent_period tinyint(3) unsigned NOT NULL default '7',
DROP INDEX username,
ADD UNIQUE users_ui1 (username)
;",
"
CREATE TABLE phpwebgallery_rate (
user_id smallint(5) unsigned NOT NULL default '0',
element_id mediumint(8) unsigned NOT NULL default '0',
rate tinyint(2) unsigned NOT NULL default '0',
PRIMARY KEY (user_id,element_id)
) TYPE=MyISAM
;",
"
CREATE TABLE phpwebgallery_user_forbidden (
user_id smallint(5) unsigned NOT NULL default '0',
need_update enum('true','false') NOT NULL default 'true',
forbidden_categories text,
PRIMARY KEY (user_id)
) TYPE=MyISAM
;",
"
UPDATE phpwebgallery_users
SET language = 'en_UK.iso-8859-1'
, template = 'default'
;",
"
DELETE FROM phpwebgallery_user_access
;",
"
DELETE FROM phpwebgallery_group_access
;"
);
foreach ($queries as $query)
{
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Basic database structure upgrade done</pre>';
flush();
$last_time = $new_time;
execute_sqlfile(PHPWG_ROOT_PATH.'install/config.sql',
'phpwebgallery_',
PREFIX_TABLE);
$queries = array(
"
UPDATE phpwebgallery_config
SET value = '".$save['prefix_thumbnail']."'
WHERE param = 'prefix_thumbnail'
;",
"
UPDATE phpwebgallery_config
SET value = '".$save['mail_webmaster']."'
WHERE param = 'mail_webmaster'
;"
);
foreach ($queries as $query)
{
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Saved configuration information restored</pre>';
flush();
$last_time = $new_time;
// filling the new column categories.uppercats
$id_uppercats = array();
$query = '
SELECT id, id_uppercat
FROM '.CATEGORIES_TABLE.'
;';
$result = pwg_query($query);
while ($row = mysql_fetch_array($result))
{
if (!isset($row['id_uppercat']) or $row['id_uppercat'] == '')
{
$row['id_uppercat'] = 'NULL';
}
$id_uppercats[$row['id']] = $row['id_uppercat'];
}
$datas = array();
foreach (array_keys($id_uppercats) as $id)
{
$data = array();
$data['id'] = $id;
$uppercats = array();
array_push($uppercats, $id);
while (isset($id_uppercats[$id]) and $id_uppercats[$id] != 'NULL')
{
array_push($uppercats, $id_uppercats[$id]);
$id = $id_uppercats[$id];
}
$data['uppercats'] = implode(',', array_reverse($uppercats));
array_push($datas, $data);
}
$fields = array('primary' => array('id'), 'update' => array('uppercats'));
mass_updates(CATEGORIES_TABLE, $fields, $datas);
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' filling the new column categories.uppercats</pre>';
flush();
$last_time = $new_time;
// refresh calculated datas
ordering();
update_global_rank();
update_category();
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Calculated data updated (categories.rank, categories.global_rank,
categories.date_last, categories.representative_picture_id,
categories.nb_images)</pre>';
flush();
$last_time = $new_time;
// update calculated field "images.path"
$cat_ids = array();
$query = '
SELECT DISTINCT(storage_category_id) AS unique_storage_category_id
FROM '.IMAGES_TABLE.'
;';
$result = pwg_query($query);
while ($row = mysql_fetch_array($result))
{
array_push($cat_ids, $row['unique_storage_category_id']);
}
$fulldirs = get_fulldirs($cat_ids);
foreach ($cat_ids as $cat_id)
{
$query = '
UPDATE '.IMAGES_TABLE.'
SET path = CONCAT(\''.$fulldirs[$cat_id].'\',\'/\',file)
WHERE storage_category_id = '.$cat_id.'
;';
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' new column images.path filled</pre>';
flush();
$last_time = $new_time;
// all sub-categories of private categories become private
$cat_ids = array();
$query = '
SELECT id
FROM '.CATEGORIES_TABLE.'
WHERE status = \'private\'
;';
$result = pwg_query($query);
while ($row = mysql_fetch_array($result))
{
array_push($cat_ids, $row['id']);
}
if (count($cat_ids) > 0)
{
$privates = get_subcat_ids($cat_ids);
$query = '
UPDATE '.CATEGORIES_TABLE.'
SET status = \'private\'
WHERE id IN ('.implode(',', $privates).')
;';
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' all sub-categories of private categories become private</pre>';
flush();
$last_time = $new_time;
$infos = array(
'user permissions and group permissions have been erased',
'only thumbnails prefix and webmaster mail address have been saved from
previous configuration',
'in include/mysql.inc.php, before
<pre style="background-color:lightgray">?&gt;</pre>
insert
<pre style="background-color:lightgray">define(\'PHPWG_INSTALLED\', true);<pre>'
);
?>

View file

@ -1,363 +0,0 @@
<?php
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | 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('IN_UPGRADE') or !IN_UPGRADE)
{
die('Hacking attempt!');
}
$last_time = get_moment();
// save data before deletion
$query = '
SELECT prefix_thumbnail, mail_webmaster
FROM '.PREFIX_TABLE.'config
;';
$save = mysql_fetch_array(mysql_query($query));
$queries = array(
"
DROP TABLE phpwebgallery_config
;",
"
CREATE TABLE phpwebgallery_config (
param varchar(40) NOT NULL default '',
value varchar(255) default NULL,
comment varchar(255) default NULL,
PRIMARY KEY (param)
) TYPE=MyISAM COMMENT='configuration table'
;",
"
ALTER TABLE phpwebgallery_categories
CHANGE COLUMN site_id site_id tinyint(4) unsigned default '1',
ADD COLUMN commentable enum('true','false') NOT NULL default 'true',
ADD COLUMN global_rank varchar(255) default NULL,
DROP INDEX id,
DROP INDEX id_uppercat,
ADD INDEX categories_i2 (id_uppercat)
;",
"
ALTER TABLE phpwebgallery_comments
ADD COLUMN date_temp int(11) unsigned
;",
"
UPDATE phpwebgallery_comments
SET date_temp = date
;",
"
ALTER TABLE phpwebgallery_comments
CHANGE COLUMN date date datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
UPDATE phpwebgallery_comments
SET date = FROM_UNIXTIME(date_temp)
;",
"
ALTER TABLE phpwebgallery_comments
DROP COLUMN date_temp
;",
"
ALTER TABLE phpwebgallery_favorites
DROP INDEX user_id,
ADD PRIMARY KEY (user_id,image_id)
;",
"
ALTER TABLE phpwebgallery_history
ADD COLUMN date_temp int(11) unsigned
;",
"
UPDATE phpwebgallery_history
SET date_temp = date
;",
"
ALTER TABLE phpwebgallery_history
CHANGE COLUMN date date datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
UPDATE phpwebgallery_history
SET date = FROM_UNIXTIME(date_temp)
;",
"
ALTER TABLE phpwebgallery_history
DROP COLUMN date_temp
;",
"
ALTER TABLE phpwebgallery_history
ADD INDEX history_i1 (date)
;",
"
ALTER TABLE phpwebgallery_image_category
DROP INDEX image_id,
DROP INDEX category_id,
ADD INDEX image_category_i1 (image_id),
ADD INDEX image_category_i2 (category_id)
;",
"
ALTER TABLE phpwebgallery_images
CHANGE COLUMN tn_ext tn_ext varchar(4) default '',
ADD COLUMN path varchar(255) NOT NULL default '',
ADD COLUMN date_metadata_update date default NULL,
ADD COLUMN average_rate float(5,2) unsigned default NULL,
ADD COLUMN representative_ext varchar(4) default NULL,
DROP INDEX storage_category_id,
ADD INDEX images_i1 (storage_category_id),
ADD INDEX images_i2 (date_available),
ADD INDEX images_i3 (average_rate),
ADD INDEX images_i4 (hit),
ADD INDEX images_i5 (date_creation)
;",
"
ALTER TABLE phpwebgallery_sessions
DROP COLUMN ip
;",
"
ALTER TABLE phpwebgallery_sessions
ADD COLUMN expiration_temp int(11) unsigned
;",
"
UPDATE phpwebgallery_sessions
SET expiration_temp = expiration
;",
"
ALTER TABLE phpwebgallery_sessions
CHANGE COLUMN expiration expiration datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
UPDATE phpwebgallery_sessions
SET expiration = FROM_UNIXTIME(expiration_temp)
;",
"
ALTER TABLE phpwebgallery_sessions
DROP COLUMN expiration_temp
;",
"
ALTER TABLE phpwebgallery_sites
DROP INDEX galleries_url,
ADD UNIQUE sites_ui1 (galleries_url)
;",
"
DROP TABLE phpwebgallery_user_category
;",
"
ALTER TABLE phpwebgallery_users
DROP COLUMN long_period,
DROP COLUMN short_period,
DROP COLUMN forbidden_categories,
ADD COLUMN recent_period tinyint(3) unsigned NOT NULL default '7',
DROP INDEX username,
ADD UNIQUE users_ui1 (username)
;",
"
CREATE TABLE phpwebgallery_rate (
user_id smallint(5) unsigned NOT NULL default '0',
element_id mediumint(8) unsigned NOT NULL default '0',
rate tinyint(2) unsigned NOT NULL default '0',
PRIMARY KEY (user_id,element_id)
) TYPE=MyISAM
;",
"
CREATE TABLE phpwebgallery_user_forbidden (
user_id smallint(5) unsigned NOT NULL default '0',
need_update enum('true','false') NOT NULL default 'true',
forbidden_categories text,
PRIMARY KEY (user_id)
) TYPE=MyISAM
;",
"
UPDATE phpwebgallery_users
SET language = 'en_UK.iso-8859-1'
, template = 'default'
;",
"
DELETE FROM phpwebgallery_user_access
;",
"
DELETE FROM phpwebgallery_group_access
;"
);
foreach ($queries as $query)
{
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Basic database structure upgrade done</pre>';
flush();
$last_time = $new_time;
execute_sqlfile(PHPWG_ROOT_PATH.'install/config.sql',
'phpwebgallery_',
PREFIX_TABLE);
$queries = array(
"
UPDATE phpwebgallery_config
SET value = '".$save['prefix_thumbnail']."'
WHERE param = 'prefix_thumbnail'
;",
"
UPDATE phpwebgallery_config
SET value = '".$save['mail_webmaster']."'
WHERE param = 'mail_webmaster'
;"
);
foreach ($queries as $query)
{
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Saved configuration information restored</pre>';
flush();
$last_time = $new_time;
ordering();
update_global_rank();
update_category();
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Calculated data updated (categories.rank, categories.global_rank,
categories.date_last, categories.representative_picture_id,
categories.nb_images)</pre>';
flush();
$last_time = $new_time;
// update calculated field "images.path"
$cat_ids = array();
$query = '
SELECT DISTINCT(storage_category_id) AS unique_storage_category_id
FROM '.IMAGES_TABLE.'
;';
$result = pwg_query($query);
while ($row = mysql_fetch_array($result))
{
array_push($cat_ids, $row['unique_storage_category_id']);
}
$fulldirs = get_fulldirs($cat_ids);
foreach ($cat_ids as $cat_id)
{
$query = '
UPDATE '.IMAGES_TABLE.'
SET path = CONCAT(\''.$fulldirs[$cat_id].'\',\'/\',file)
WHERE storage_category_id = '.$cat_id.'
;';
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' new column images.path filled</pre>';
flush();
$last_time = $new_time;
// all sub-categories of private categories become private
$cat_ids = array();
$query = '
SELECT id
FROM '.CATEGORIES_TABLE.'
WHERE status = \'private\'
;';
$result = pwg_query($query);
while ($row = mysql_fetch_array($result))
{
array_push($cat_ids, $row['id']);
}
if (count($cat_ids) > 0)
{
$privates = get_subcat_ids($cat_ids);
$query = '
UPDATE '.CATEGORIES_TABLE.'
SET status = \'private\'
WHERE id IN ('.implode(',', $privates).')
;';
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' all sub-categories of private categories become private</pre>';
flush();
$last_time = $new_time;
$infos = array(
'user permissions and group permissions have been erased',
'only thumbnails prefix and webmaster mail address have been saved from
previous configuration',
'in include/mysql.inc.php, before
<pre style="background-color:lightgray">?&gt;</pre>
insert
<pre style="background-color:lightgray">define(\'PHPWG_INSTALLED\', true);<pre>'
);
?>

View file

@ -1,362 +0,0 @@
<?php
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | 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('IN_UPGRADE') or !IN_UPGRADE)
{
die('Hacking attempt!');
}
$last_time = get_moment();
// save data before deletion
$query = '
SELECT prefix_thumbnail, mail_webmaster
FROM '.PREFIX_TABLE.'config
;';
$save = mysql_fetch_array(mysql_query($query));
$queries = array(
"
DROP TABLE phpwebgallery_config
;",
"
CREATE TABLE phpwebgallery_config (
param varchar(40) NOT NULL default '',
value varchar(255) default NULL,
comment varchar(255) default NULL,
PRIMARY KEY (param)
) TYPE=MyISAM COMMENT='configuration table'
;",
"
ALTER TABLE phpwebgallery_categories
CHANGE COLUMN site_id site_id tinyint(4) unsigned default '1',
ADD COLUMN commentable enum('true','false') NOT NULL default 'true',
ADD COLUMN global_rank varchar(255) default NULL,
DROP INDEX id_uppercat,
ADD INDEX categories_i2 (id_uppercat)
;",
"
ALTER TABLE phpwebgallery_comments
ADD COLUMN date_temp int(11) unsigned
;",
"
UPDATE phpwebgallery_comments
SET date_temp = date
;",
"
ALTER TABLE phpwebgallery_comments
CHANGE COLUMN date date datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
UPDATE phpwebgallery_comments
SET date = FROM_UNIXTIME(date_temp)
;",
"
ALTER TABLE phpwebgallery_comments
DROP COLUMN date_temp
;",
"
ALTER TABLE phpwebgallery_favorites
DROP INDEX user_id,
ADD PRIMARY KEY (user_id,image_id)
;",
"
ALTER TABLE phpwebgallery_history
ADD COLUMN date_temp int(11) unsigned
;",
"
UPDATE phpwebgallery_history
SET date_temp = date
;",
"
ALTER TABLE phpwebgallery_history
CHANGE COLUMN date date datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
UPDATE phpwebgallery_history
SET date = FROM_UNIXTIME(date_temp)
;",
"
ALTER TABLE phpwebgallery_history
DROP COLUMN date_temp
;",
"
ALTER TABLE phpwebgallery_history
ADD INDEX history_i1 (date)
;",
"
ALTER TABLE phpwebgallery_image_category
DROP INDEX image_id,
DROP INDEX category_id,
ADD INDEX image_category_i1 (image_id),
ADD INDEX image_category_i2 (category_id)
;",
"
ALTER TABLE phpwebgallery_images
CHANGE COLUMN tn_ext tn_ext varchar(4) default '',
ADD COLUMN path varchar(255) NOT NULL default '',
ADD COLUMN date_metadata_update date default NULL,
ADD COLUMN average_rate float(5,2) unsigned default NULL,
ADD COLUMN representative_ext varchar(4) default NULL,
DROP INDEX storage_category_id,
ADD INDEX images_i1 (storage_category_id),
ADD INDEX images_i2 (date_available),
ADD INDEX images_i3 (average_rate),
ADD INDEX images_i4 (hit),
ADD INDEX images_i5 (date_creation)
;",
"
ALTER TABLE phpwebgallery_sessions
DROP COLUMN ip
;",
"
ALTER TABLE phpwebgallery_sessions
ADD COLUMN expiration_temp int(11) unsigned
;",
"
UPDATE phpwebgallery_sessions
SET expiration_temp = expiration
;",
"
ALTER TABLE phpwebgallery_sessions
CHANGE COLUMN expiration expiration datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
UPDATE phpwebgallery_sessions
SET expiration = FROM_UNIXTIME(expiration_temp)
;",
"
ALTER TABLE phpwebgallery_sessions
DROP COLUMN expiration_temp
;",
"
ALTER TABLE phpwebgallery_sites
DROP INDEX galleries_url,
ADD UNIQUE sites_ui1 (galleries_url)
;",
"
DROP TABLE phpwebgallery_user_category
;",
"
ALTER TABLE phpwebgallery_users
DROP COLUMN long_period,
DROP COLUMN short_period,
DROP COLUMN forbidden_categories,
ADD COLUMN recent_period tinyint(3) unsigned NOT NULL default '7',
DROP INDEX username,
ADD UNIQUE users_ui1 (username)
;",
"
CREATE TABLE phpwebgallery_rate (
user_id smallint(5) unsigned NOT NULL default '0',
element_id mediumint(8) unsigned NOT NULL default '0',
rate tinyint(2) unsigned NOT NULL default '0',
PRIMARY KEY (user_id,element_id)
) TYPE=MyISAM
;",
"
CREATE TABLE phpwebgallery_user_forbidden (
user_id smallint(5) unsigned NOT NULL default '0',
need_update enum('true','false') NOT NULL default 'true',
forbidden_categories text,
PRIMARY KEY (user_id)
) TYPE=MyISAM
;",
"
UPDATE phpwebgallery_users
SET language = 'en_UK.iso-8859-1'
, template = 'default'
;",
"
DELETE FROM phpwebgallery_user_access
;",
"
DELETE FROM phpwebgallery_group_access
;"
);
foreach ($queries as $query)
{
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Basic database structure upgrade done</pre>';
flush();
$last_time = $new_time;
execute_sqlfile(PHPWG_ROOT_PATH.'install/config.sql',
'phpwebgallery_',
PREFIX_TABLE);
$queries = array(
"
UPDATE phpwebgallery_config
SET value = '".$save['prefix_thumbnail']."'
WHERE param = 'prefix_thumbnail'
;",
"
UPDATE phpwebgallery_config
SET value = '".$save['mail_webmaster']."'
WHERE param = 'mail_webmaster'
;"
);
foreach ($queries as $query)
{
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Saved configuration information restored</pre>';
flush();
$last_time = $new_time;
ordering();
update_global_rank();
update_category();
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Calculated data updated (categories.rank, categories.global_rank,
categories.date_last, categories.representative_picture_id,
categories.nb_images)</pre>';
flush();
$last_time = $new_time;
// update calculated field "images.path"
$cat_ids = array();
$query = '
SELECT DISTINCT(storage_category_id) AS unique_storage_category_id
FROM '.IMAGES_TABLE.'
;';
$result = pwg_query($query);
while ($row = mysql_fetch_array($result))
{
array_push($cat_ids, $row['unique_storage_category_id']);
}
$fulldirs = get_fulldirs($cat_ids);
foreach ($cat_ids as $cat_id)
{
$query = '
UPDATE '.IMAGES_TABLE.'
SET path = CONCAT(\''.$fulldirs[$cat_id].'\',\'/\',file)
WHERE storage_category_id = '.$cat_id.'
;';
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' new column images.path filled</pre>';
flush();
$last_time = $new_time;
// all sub-categories of private categories become private
$cat_ids = array();
$query = '
SELECT id
FROM '.CATEGORIES_TABLE.'
WHERE status = \'private\'
;';
$result = pwg_query($query);
while ($row = mysql_fetch_array($result))
{
array_push($cat_ids, $row['id']);
}
if (count($cat_ids) > 0)
{
$privates = get_subcat_ids($cat_ids);
$query = '
UPDATE '.CATEGORIES_TABLE.'
SET status = \'private\'
WHERE id IN ('.implode(',', $privates).')
;';
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' all sub-categories of private categories become private</pre>';
flush();
$last_time = $new_time;
$infos = array(
'user permissions and group permissions have been erased',
'only thumbnails prefix and webmaster mail address have been saved from
previous configuration',
'in include/mysql.inc.php, before
<pre style="background-color:lightgray">?&gt;</pre>
insert
<pre style="background-color:lightgray">define(\'PHPWG_INSTALLED\', true);<pre>'
);
?>

View file

@ -1,362 +0,0 @@
<?php
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | 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('IN_UPGRADE') or !IN_UPGRADE)
{
die('Hacking attempt!');
}
$last_time = get_moment();
// save data before deletion
$query = '
SELECT prefix_thumbnail, mail_webmaster
FROM '.PREFIX_TABLE.'config
;';
$save = mysql_fetch_array(mysql_query($query));
$queries = array(
"
DROP TABLE phpwebgallery_config
;",
"
CREATE TABLE phpwebgallery_config (
param varchar(40) NOT NULL default '',
value varchar(255) default NULL,
comment varchar(255) default NULL,
PRIMARY KEY (param)
) TYPE=MyISAM COMMENT='configuration table'
;",
"
ALTER TABLE phpwebgallery_categories
CHANGE COLUMN site_id site_id tinyint(4) unsigned default '1',
ADD COLUMN commentable enum('true','false') NOT NULL default 'true',
ADD COLUMN global_rank varchar(255) default NULL,
DROP INDEX id_uppercat,
ADD INDEX categories_i2 (id_uppercat)
;",
"
ALTER TABLE phpwebgallery_comments
ADD COLUMN date_temp int(11) unsigned
;",
"
UPDATE phpwebgallery_comments
SET date_temp = date
;",
"
ALTER TABLE phpwebgallery_comments
CHANGE COLUMN date date datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
UPDATE phpwebgallery_comments
SET date = FROM_UNIXTIME(date_temp)
;",
"
ALTER TABLE phpwebgallery_comments
DROP COLUMN date_temp
;",
"
ALTER TABLE phpwebgallery_favorites
DROP INDEX user_id,
ADD PRIMARY KEY (user_id,image_id)
;",
"
ALTER TABLE phpwebgallery_history
ADD COLUMN date_temp int(11) unsigned
;",
"
UPDATE phpwebgallery_history
SET date_temp = date
;",
"
ALTER TABLE phpwebgallery_history
CHANGE COLUMN date date datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
UPDATE phpwebgallery_history
SET date = FROM_UNIXTIME(date_temp)
;",
"
ALTER TABLE phpwebgallery_history
DROP COLUMN date_temp
;",
"
ALTER TABLE phpwebgallery_history
ADD INDEX history_i1 (date)
;",
"
ALTER TABLE phpwebgallery_image_category
DROP INDEX image_id,
DROP INDEX category_id,
ADD INDEX image_category_i1 (image_id),
ADD INDEX image_category_i2 (category_id)
;",
"
ALTER TABLE phpwebgallery_images
CHANGE COLUMN tn_ext tn_ext varchar(4) default '',
ADD COLUMN path varchar(255) NOT NULL default '',
ADD COLUMN date_metadata_update date default NULL,
ADD COLUMN average_rate float(5,2) unsigned default NULL,
ADD COLUMN representative_ext varchar(4) default NULL,
DROP INDEX storage_category_id,
ADD INDEX images_i1 (storage_category_id),
ADD INDEX images_i2 (date_available),
ADD INDEX images_i3 (average_rate),
ADD INDEX images_i4 (hit),
ADD INDEX images_i5 (date_creation)
;",
"
ALTER TABLE phpwebgallery_sessions
DROP COLUMN ip
;",
"
ALTER TABLE phpwebgallery_sessions
ADD COLUMN expiration_temp int(11) unsigned
;",
"
UPDATE phpwebgallery_sessions
SET expiration_temp = expiration
;",
"
ALTER TABLE phpwebgallery_sessions
CHANGE COLUMN expiration expiration datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
UPDATE phpwebgallery_sessions
SET expiration = FROM_UNIXTIME(expiration_temp)
;",
"
ALTER TABLE phpwebgallery_sessions
DROP COLUMN expiration_temp
;",
"
ALTER TABLE phpwebgallery_sites
DROP INDEX galleries_url,
ADD UNIQUE sites_ui1 (galleries_url)
;",
"
DROP TABLE phpwebgallery_user_category
;",
"
ALTER TABLE phpwebgallery_users
DROP COLUMN long_period,
DROP COLUMN short_period,
DROP COLUMN forbidden_categories,
ADD COLUMN recent_period tinyint(3) unsigned NOT NULL default '7',
DROP INDEX username,
ADD UNIQUE users_ui1 (username)
;",
"
CREATE TABLE phpwebgallery_rate (
user_id smallint(5) unsigned NOT NULL default '0',
element_id mediumint(8) unsigned NOT NULL default '0',
rate tinyint(2) unsigned NOT NULL default '0',
PRIMARY KEY (user_id,element_id)
) TYPE=MyISAM
;",
"
CREATE TABLE phpwebgallery_user_forbidden (
user_id smallint(5) unsigned NOT NULL default '0',
need_update enum('true','false') NOT NULL default 'true',
forbidden_categories text,
PRIMARY KEY (user_id)
) TYPE=MyISAM
;",
"
UPDATE phpwebgallery_users
SET language = 'en_UK.iso-8859-1'
, template = 'default'
;",
"
DELETE FROM phpwebgallery_user_access
;",
"
DELETE FROM phpwebgallery_group_access
;"
);
foreach ($queries as $query)
{
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Basic database structure upgrade done</pre>';
flush();
$last_time = $new_time;
execute_sqlfile(PHPWG_ROOT_PATH.'install/config.sql',
'phpwebgallery_',
PREFIX_TABLE);
$queries = array(
"
UPDATE phpwebgallery_config
SET value = '".$save['prefix_thumbnail']."'
WHERE param = 'prefix_thumbnail'
;",
"
UPDATE phpwebgallery_config
SET value = '".$save['mail_webmaster']."'
WHERE param = 'mail_webmaster'
;"
);
foreach ($queries as $query)
{
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Saved configuration information restored</pre>';
flush();
$last_time = $new_time;
ordering();
update_global_rank();
update_category();
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Calculated data updated (categories.rank, categories.global_rank,
categories.date_last, categories.representative_picture_id,
categories.nb_images)</pre>';
flush();
$last_time = $new_time;
// update calculated field "images.path"
$cat_ids = array();
$query = '
SELECT DISTINCT(storage_category_id) AS unique_storage_category_id
FROM '.IMAGES_TABLE.'
;';
$result = pwg_query($query);
while ($row = mysql_fetch_array($result))
{
array_push($cat_ids, $row['unique_storage_category_id']);
}
$fulldirs = get_fulldirs($cat_ids);
foreach ($cat_ids as $cat_id)
{
$query = '
UPDATE '.IMAGES_TABLE.'
SET path = CONCAT(\''.$fulldirs[$cat_id].'\',\'/\',file)
WHERE storage_category_id = '.$cat_id.'
;';
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' new column images.path filled</pre>';
flush();
$last_time = $new_time;
// all sub-categories of private categories become private
$cat_ids = array();
$query = '
SELECT id
FROM '.CATEGORIES_TABLE.'
WHERE status = \'private\'
;';
$result = pwg_query($query);
while ($row = mysql_fetch_array($result))
{
array_push($cat_ids, $row['id']);
}
if (count($cat_ids) > 0)
{
$privates = get_subcat_ids($cat_ids);
$query = '
UPDATE '.CATEGORIES_TABLE.'
SET status = \'private\'
WHERE id IN ('.implode(',', $privates).')
;';
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' all sub-categories of private categories become private</pre>';
flush();
$last_time = $new_time;
$infos = array(
'user permissions and group permissions have been erased',
'only thumbnails prefix and webmaster mail address have been saved from
previous configuration',
'in include/mysql.inc.php, before
<pre style="background-color:lightgray">?&gt;</pre>
insert
<pre style="background-color:lightgray">define(\'PHPWG_INSTALLED\', true);<pre>'
);
?>

View file

@ -1,362 +0,0 @@
<?php
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | 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('IN_UPGRADE') or !IN_UPGRADE)
{
die('Hacking attempt!');
}
$last_time = get_moment();
// save data before deletion
$query = '
SELECT prefix_thumbnail, mail_webmaster
FROM '.PREFIX_TABLE.'config
;';
$save = mysql_fetch_array(mysql_query($query));
$queries = array(
"
DROP TABLE phpwebgallery_config
;",
"
CREATE TABLE phpwebgallery_config (
param varchar(40) NOT NULL default '',
value varchar(255) default NULL,
comment varchar(255) default NULL,
PRIMARY KEY (param)
) TYPE=MyISAM COMMENT='configuration table'
;",
"
ALTER TABLE phpwebgallery_categories
CHANGE COLUMN site_id site_id tinyint(4) unsigned default '1',
ADD COLUMN commentable enum('true','false') NOT NULL default 'true',
ADD COLUMN global_rank varchar(255) default NULL,
DROP INDEX id_uppercat,
ADD INDEX categories_i2 (id_uppercat)
;",
"
ALTER TABLE phpwebgallery_comments
ADD COLUMN date_temp int(11) unsigned
;",
"
UPDATE phpwebgallery_comments
SET date_temp = date
;",
"
ALTER TABLE phpwebgallery_comments
CHANGE COLUMN date date datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
UPDATE phpwebgallery_comments
SET date = FROM_UNIXTIME(date_temp)
;",
"
ALTER TABLE phpwebgallery_comments
DROP COLUMN date_temp
;",
"
ALTER TABLE phpwebgallery_favorites
DROP INDEX user_id,
ADD PRIMARY KEY (user_id,image_id)
;",
"
ALTER TABLE phpwebgallery_history
ADD COLUMN date_temp int(11) unsigned
;",
"
UPDATE phpwebgallery_history
SET date_temp = date
;",
"
ALTER TABLE phpwebgallery_history
CHANGE COLUMN date date datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
UPDATE phpwebgallery_history
SET date = FROM_UNIXTIME(date_temp)
;",
"
ALTER TABLE phpwebgallery_history
DROP COLUMN date_temp
;",
"
ALTER TABLE phpwebgallery_history
ADD INDEX history_i1 (date)
;",
"
ALTER TABLE phpwebgallery_image_category
DROP INDEX image_id,
DROP INDEX category_id,
ADD INDEX image_category_i1 (image_id),
ADD INDEX image_category_i2 (category_id)
;",
"
ALTER TABLE phpwebgallery_images
CHANGE COLUMN tn_ext tn_ext varchar(4) default '',
ADD COLUMN path varchar(255) NOT NULL default '',
ADD COLUMN date_metadata_update date default NULL,
ADD COLUMN average_rate float(5,2) unsigned default NULL,
ADD COLUMN representative_ext varchar(4) default NULL,
DROP INDEX storage_category_id,
ADD INDEX images_i1 (storage_category_id),
ADD INDEX images_i2 (date_available),
ADD INDEX images_i3 (average_rate),
ADD INDEX images_i4 (hit),
ADD INDEX images_i5 (date_creation)
;",
"
ALTER TABLE phpwebgallery_sessions
DROP COLUMN ip
;",
"
ALTER TABLE phpwebgallery_sessions
ADD COLUMN expiration_temp int(11) unsigned
;",
"
UPDATE phpwebgallery_sessions
SET expiration_temp = expiration
;",
"
ALTER TABLE phpwebgallery_sessions
CHANGE COLUMN expiration expiration datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
UPDATE phpwebgallery_sessions
SET expiration = FROM_UNIXTIME(expiration_temp)
;",
"
ALTER TABLE phpwebgallery_sessions
DROP COLUMN expiration_temp
;",
"
ALTER TABLE phpwebgallery_sites
DROP INDEX galleries_url,
ADD UNIQUE sites_ui1 (galleries_url)
;",
"
DROP TABLE phpwebgallery_user_category
;",
"
ALTER TABLE phpwebgallery_users
DROP COLUMN long_period,
DROP COLUMN short_period,
DROP COLUMN forbidden_categories,
ADD COLUMN recent_period tinyint(3) unsigned NOT NULL default '7',
DROP INDEX username,
ADD UNIQUE users_ui1 (username)
;",
"
CREATE TABLE phpwebgallery_rate (
user_id smallint(5) unsigned NOT NULL default '0',
element_id mediumint(8) unsigned NOT NULL default '0',
rate tinyint(2) unsigned NOT NULL default '0',
PRIMARY KEY (user_id,element_id)
) TYPE=MyISAM
;",
"
CREATE TABLE phpwebgallery_user_forbidden (
user_id smallint(5) unsigned NOT NULL default '0',
need_update enum('true','false') NOT NULL default 'true',
forbidden_categories text,
PRIMARY KEY (user_id)
) TYPE=MyISAM
;",
"
UPDATE phpwebgallery_users
SET language = 'en_UK.iso-8859-1'
, template = 'default'
;",
"
DELETE FROM phpwebgallery_user_access
;",
"
DELETE FROM phpwebgallery_group_access
;"
);
foreach ($queries as $query)
{
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Basic database structure upgrade done</pre>';
flush();
$last_time = $new_time;
execute_sqlfile(PHPWG_ROOT_PATH.'install/config.sql',
'phpwebgallery_',
PREFIX_TABLE);
$queries = array(
"
UPDATE phpwebgallery_config
SET value = '".$save['prefix_thumbnail']."'
WHERE param = 'prefix_thumbnail'
;",
"
UPDATE phpwebgallery_config
SET value = '".$save['mail_webmaster']."'
WHERE param = 'mail_webmaster'
;"
);
foreach ($queries as $query)
{
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Saved configuration information restored</pre>';
flush();
$last_time = $new_time;
ordering();
update_global_rank();
update_category();
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Calculated data updated (categories.rank, categories.global_rank,
categories.date_last, categories.representative_picture_id,
categories.nb_images)</pre>';
flush();
$last_time = $new_time;
// update calculated field "images.path"
$cat_ids = array();
$query = '
SELECT DISTINCT(storage_category_id) AS unique_storage_category_id
FROM '.IMAGES_TABLE.'
;';
$result = pwg_query($query);
while ($row = mysql_fetch_array($result))
{
array_push($cat_ids, $row['unique_storage_category_id']);
}
$fulldirs = get_fulldirs($cat_ids);
foreach ($cat_ids as $cat_id)
{
$query = '
UPDATE '.IMAGES_TABLE.'
SET path = CONCAT(\''.$fulldirs[$cat_id].'\',\'/\',file)
WHERE storage_category_id = '.$cat_id.'
;';
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' new column images.path filled</pre>';
flush();
$last_time = $new_time;
// all sub-categories of private categories become private
$cat_ids = array();
$query = '
SELECT id
FROM '.CATEGORIES_TABLE.'
WHERE status = \'private\'
;';
$result = pwg_query($query);
while ($row = mysql_fetch_array($result))
{
array_push($cat_ids, $row['id']);
}
if (count($cat_ids) > 0)
{
$privates = get_subcat_ids($cat_ids);
$query = '
UPDATE '.CATEGORIES_TABLE.'
SET status = \'private\'
WHERE id IN ('.implode(',', $privates).')
;';
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' all sub-categories of private categories become private</pre>';
flush();
$last_time = $new_time;
$infos = array(
'user permissions and group permissions have been erased',
'only thumbnails prefix and webmaster mail address have been saved from
previous configuration',
'in include/mysql.inc.php, before
<pre style="background-color:lightgray">?&gt;</pre>
insert
<pre style="background-color:lightgray">define(\'PHPWG_INSTALLED\', true);<pre>'
);
?>

275
install/upgrade_1.4.0.php Normal file
View file

@ -0,0 +1,275 @@
<?php
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | 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 ('This page cannot be loaded directly, load upgrade.php');
}
else
{
if (!defined('PHPWG_IN_UPGRADE') or !PHPWG_IN_UPGRADE)
{
die ('Hacking attempt!');
}
}
$last_time = get_moment();
// will the user have to edit include/config_local.inc.php for
// prefix_thumbnail configuration parameter
$query = '
SELECT value
FROM '.CONFIG_TABLE.'
WHERE param = \'prefix_thumbnail\'
;';
list($prefix_thumbnail) = mysql_fetch_array(pwg_query($query));
// delete obsolete configuration
$query = '
DELETE
FROM '.PREFIX_TABLE.'config
WHERE param IN (
\'prefix_thumbnail\',
\'mail_webmaster\',
\'upload_maxfilesize\',
\'upload_maxwidth\',
\'upload_maxheight\',
\'upload_maxwidth_thumbnail\',
\'upload_maxheight_thumbnail\',
\'mail_notification\'
)
;';
mysql_query($query);
$queries = array(
"
ALTER TABLE phpwebgallery_categories
CHANGE COLUMN date_last date_last datetime default NULL
;",
"
ALTER TABLE phpwebgallery_comments
ADD COLUMN validation_date datetime default NULL
;",
"
UPDATE phpwebgallery_comments
SET validation_date = date
",
"
ALTER TABLE phpwebgallery_comments
ADD INDEX comments_i1 (image_id)
;",
"
ALTER TABLE phpwebgallery_comments
ADD INDEX comments_i2 (validation_date)
;",
"
ALTER TABLE phpwebgallery_favorites
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
;",
"
ALTER TABLE phpwebgallery_images
CHANGE COLUMN date_available
date_available datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
ALTER TABLE phpwebgallery_rate
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
;",
"
ALTER TABLE phpwebgallery_sessions
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
;",
"
ALTER TABLE phpwebgallery_user_access
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
;",
"
DROP TABLE phpwebgallery_user_forbidden
;",
"
ALTER TABLE phpwebgallery_user_group
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
;",
"
ALTER TABLE phpwebgallery_users
CHANGE COLUMN id id smallint(5) NOT NULL auto_increment
;",
"
CREATE TABLE phpwebgallery_caddie (
user_id smallint(5) NOT NULL default '0',
element_id mediumint(8) NOT NULL default '0',
PRIMARY KEY (user_id,element_id)
) TYPE=MyISAM
;",
"
CREATE TABLE phpwebgallery_user_cache (
user_id smallint(5) NOT NULL default '0',
need_update enum('true','false') NOT NULL default 'true',
forbidden_categories text,
PRIMARY KEY (user_id)
) TYPE=MyISAM
;",
"
CREATE TABLE phpwebgallery_user_feed (
id varchar(50) binary NOT NULL default '',
user_id smallint(5) NOT NULL default '0',
last_check datetime default NULL,
PRIMARY KEY (id)
) TYPE=MyISAM
;",
"
CREATE TABLE phpwebgallery_user_infos (
user_id smallint(5) NOT NULL default '0',
nb_image_line tinyint(1) unsigned NOT NULL default '5',
nb_line_page tinyint(3) unsigned NOT NULL default '3',
status enum('admin','guest') NOT NULL default 'guest',
language varchar(50) NOT NULL default 'english',
maxwidth smallint(6) default NULL,
maxheight smallint(6) default NULL,
expand enum('true','false') NOT NULL default 'false',
show_nb_comments enum('true','false') NOT NULL default 'false',
recent_period tinyint(3) unsigned NOT NULL default '7',
template varchar(255) NOT NULL default 'yoga',
registration_date datetime NOT NULL default '0000-00-00 00:00:00',
UNIQUE KEY user_infos_ui1 (user_id)
) TYPE=MyISAM
;"
);
foreach ($queries as $query)
{
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Basic database structure upgrade done</pre>';
flush();
$last_time = $new_time;
// user datas migration from phpwebgallery_users to phpwebgallery_user_infos
$query = '
SELECT *
FROM '.USERS_TABLE.'
;';
$datas = array();
list($dbnow) = mysql_fetch_row(pwg_query('SELECT NOW();'));
$result = pwg_query($query);
while ($row = mysql_fetch_array($result))
{
$row['user_id'] = $row['id'];
$row['registration_date'] = $dbnow;
array_push($datas, $row);
}
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
mass_inserts(
USER_INFOS_TABLE,
array(
'user_id',
'nb_image_line',
'nb_line_page',
'status',
'language',
'maxwidth',
'maxheight',
'expand',
'show_nb_comments',
'recent_period',
'template',
'registration_date'
),
$datas
);
$queries = array(
"
UPDATE ".USER_INFOS_TABLE."
SET template = 'yoga'
;",
"
UPDATE ".USER_INFOS_TABLE."
SET language = 'en_UK.iso-8859-1'
WHERE language NOT IN ('en_UK.iso-8859-1', 'fr_FR.iso-8859-1')
;",
"
UPDATE ".CONFIG_TABLE."
SET value = 'en_UK.iso-8859-1'
WHERE param = 'default_language'
AND value NOT IN ('en_UK.iso-8859-1', 'fr_FR.iso-8859-1')
;",
"
UPDATE ".CONFIG_TABLE."
SET value = 'yoga'
WHERE param = 'default_template'
;"
);
foreach ($queries as $query)
{
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
pwg_query($query);
}
$infos = array();
if ($prefix_thumbnail != 'TN-')
{
array_push(
$infos,
'the thumbnail prefix configuration parameter was moved to configuration
file, copy config_local.inc.php from "tools" directory to "include" directory
and edit $conf[\'prefix_thumbnail\'] = '.$prefix_thumbnail
);
}
?>

275
install/upgrade_1.4.1.php Normal file
View file

@ -0,0 +1,275 @@
<?php
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | 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 ('This page cannot be loaded directly, load upgrade.php');
}
else
{
if (!defined('PHPWG_IN_UPGRADE') or !PHPWG_IN_UPGRADE)
{
die ('Hacking attempt!');
}
}
$last_time = get_moment();
// will the user have to edit include/config_local.inc.php for
// prefix_thumbnail configuration parameter
$query = '
SELECT value
FROM '.CONFIG_TABLE.'
WHERE param = \'prefix_thumbnail\'
;';
list($prefix_thumbnail) = mysql_fetch_array(pwg_query($query));
// delete obsolete configuration
$query = '
DELETE
FROM '.PREFIX_TABLE.'config
WHERE param IN (
\'prefix_thumbnail\',
\'mail_webmaster\',
\'upload_maxfilesize\',
\'upload_maxwidth\',
\'upload_maxheight\',
\'upload_maxwidth_thumbnail\',
\'upload_maxheight_thumbnail\',
\'mail_notification\'
)
;';
mysql_query($query);
$queries = array(
"
ALTER TABLE phpwebgallery_categories
CHANGE COLUMN date_last date_last datetime default NULL
;",
"
ALTER TABLE phpwebgallery_comments
ADD COLUMN validation_date datetime default NULL
;",
"
UPDATE phpwebgallery_comments
SET validation_date = date
",
"
ALTER TABLE phpwebgallery_comments
ADD INDEX comments_i1 (image_id)
;",
"
ALTER TABLE phpwebgallery_comments
ADD INDEX comments_i2 (validation_date)
;",
"
ALTER TABLE phpwebgallery_favorites
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
;",
"
ALTER TABLE phpwebgallery_images
CHANGE COLUMN date_available
date_available datetime NOT NULL default '0000-00-00 00:00:00'
;",
"
ALTER TABLE phpwebgallery_rate
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
;",
"
ALTER TABLE phpwebgallery_sessions
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
;",
"
ALTER TABLE phpwebgallery_user_access
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
;",
"
DROP TABLE phpwebgallery_user_forbidden
;",
"
ALTER TABLE phpwebgallery_user_group
CHANGE COLUMN user_id user_id smallint(5) NOT NULL default '0'
;",
"
ALTER TABLE phpwebgallery_users
CHANGE COLUMN id id smallint(5) NOT NULL auto_increment
;",
"
CREATE TABLE phpwebgallery_caddie (
user_id smallint(5) NOT NULL default '0',
element_id mediumint(8) NOT NULL default '0',
PRIMARY KEY (user_id,element_id)
) TYPE=MyISAM
;",
"
CREATE TABLE phpwebgallery_user_cache (
user_id smallint(5) NOT NULL default '0',
need_update enum('true','false') NOT NULL default 'true',
forbidden_categories text,
PRIMARY KEY (user_id)
) TYPE=MyISAM
;",
"
CREATE TABLE phpwebgallery_user_feed (
id varchar(50) binary NOT NULL default '',
user_id smallint(5) NOT NULL default '0',
last_check datetime default NULL,
PRIMARY KEY (id)
) TYPE=MyISAM
;",
"
CREATE TABLE phpwebgallery_user_infos (
user_id smallint(5) NOT NULL default '0',
nb_image_line tinyint(1) unsigned NOT NULL default '5',
nb_line_page tinyint(3) unsigned NOT NULL default '3',
status enum('admin','guest') NOT NULL default 'guest',
language varchar(50) NOT NULL default 'english',
maxwidth smallint(6) default NULL,
maxheight smallint(6) default NULL,
expand enum('true','false') NOT NULL default 'false',
show_nb_comments enum('true','false') NOT NULL default 'false',
recent_period tinyint(3) unsigned NOT NULL default '7',
template varchar(255) NOT NULL default 'yoga',
registration_date datetime NOT NULL default '0000-00-00 00:00:00',
UNIQUE KEY user_infos_ui1 (user_id)
) TYPE=MyISAM
;"
);
foreach ($queries as $query)
{
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
pwg_query($query);
}
$new_time = get_moment();
echo '<pre>['.get_elapsed_time($last_time, $new_time).']';
echo ' Basic database structure upgrade done</pre>';
flush();
$last_time = $new_time;
// user datas migration from phpwebgallery_users to phpwebgallery_user_infos
$query = '
SELECT *
FROM '.USERS_TABLE.'
;';
$datas = array();
list($dbnow) = mysql_fetch_row(pwg_query('SELECT NOW();'));
$result = pwg_query($query);
while ($row = mysql_fetch_array($result))
{
$row['user_id'] = $row['id'];
$row['registration_date'] = $dbnow;
array_push($datas, $row);
}
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
mass_inserts(
USER_INFOS_TABLE,
array(
'user_id',
'nb_image_line',
'nb_line_page',
'status',
'language',
'maxwidth',
'maxheight',
'expand',
'show_nb_comments',
'recent_period',
'template',
'registration_date'
),
$datas
);
$queries = array(
"
UPDATE ".USER_INFOS_TABLE."
SET template = 'yoga'
;",
"
UPDATE ".USER_INFOS_TABLE."
SET language = 'en_UK.iso-8859-1'
WHERE language NOT IN ('en_UK.iso-8859-1', 'fr_FR.iso-8859-1')
;",
"
UPDATE ".CONFIG_TABLE."
SET value = 'en_UK.iso-8859-1'
WHERE param = 'default_language'
AND value NOT IN ('en_UK.iso-8859-1', 'fr_FR.iso-8859-1')
;",
"
UPDATE ".CONFIG_TABLE."
SET value = 'yoga'
WHERE param = 'default_template'
;"
);
foreach ($queries as $query)
{
$query = str_replace('phpwebgallery_', PREFIX_TABLE, $query);
pwg_query($query);
}
$infos = array();
if ($prefix_thumbnail != 'TN-')
{
array_push(
$infos,
'the thumbnail prefix configuration parameter was moved to configuration
file, copy config_local.inc.php from "tools" directory to "include" directory
and edit $conf[\'prefix_thumbnail\'] = '.$prefix_thumbnail
);
}
?>

View file

@ -5,7 +5,10 @@
<div id="imageHeaderBar">
<div class="browsePath"><a href="{U_HOME}">{L_HOME}</a>{LEVEL_SEPARATOR}{CATEGORY}</div>
<div class="imageNumber">{PHOTO}</div>
<!-- BEGIN title -->
<h1>{TITLE}</h1>
<!-- END title -->
<hr class="separation">
</div>
<div id="imageToolBar">

View file

@ -0,0 +1,8 @@
<?php
// this file is provided as an example. It does not modify the configuration
// as long as it remains in "tools" directory. Move it to "include"
// directory if you want to modify default configuration.
$conf['prefix_thumbnail'] = 'thumb_';
$conf['show_gt'] = true;
?>

View file

@ -25,7 +25,6 @@
// | USA. |
// +-----------------------------------------------------------------------+
define('IN_UPGRADE', true);
define('PHPWG_ROOT_PATH', './');
include_once(PHPWG_ROOT_PATH.'include/functions.inc.php');
@ -34,17 +33,20 @@ include(PHPWG_ROOT_PATH.'include/template.php');
include(PHPWG_ROOT_PATH.'include/mysql.inc.php');
// Is PhpWebGallery already installed ?
if (defined('PHPWG_INSTALLED'))
if (!defined('PHPWG_IN_UPGRADE') or !PHPWG_IN_UPGRADE)
{
$message = 'PhpWebGallery is already installed. In include/mysql.inc.php,
remove line
$message = 'PhpWebGallery is not in upgrade mode. In include/mysql.inc.php,
insert line
<pre style="background-color:lightgray">
define(\'PHPWG_INSTALLED\', true);
define(\'PHPWG_IN_UPGRADE\', true);
</pre>
if you want to upgrade';
die($message);
}
// concerning upgrade, we use the default users table
$conf['users_table'] = $prefixeTable.'users';
include_once(PHPWG_ROOT_PATH.'include/constants.php');
define('PREFIX_TABLE', $prefixeTable);
@ -113,9 +115,11 @@ function execute_sqlfile($filepath, $replaced, $replacing)
// +-----------------------------------------------------------------------+
// | template initialization |
// +-----------------------------------------------------------------------+
$template = setup_style('default');
$template = new Template(PHPWG_ROOT_PATH.'template/yoga');
$template->set_filenames(array('upgrade'=>'upgrade.tpl'));
$template->assign_vars(array('RELEASE'=>PHPWG_VERSION));
// +-----------------------------------------------------------------------+
// | versions upgradable |
// +-----------------------------------------------------------------------+
@ -178,7 +182,16 @@ else
array_push(
$infos,
'[security] delete files "upgrade.php", "install.php" and "install"
directory');
directory'
);
array_push(
$infos,
'in include/mysql.inc.php, remove
<pre style="background-color:lightgray">
define(\'PHPWG_IN_UPGRADE\', true);
</pre>'
);
$template->assign_block_vars('upgrade.infos', array());