2001-05-18 05:19:49 +02:00
< ? php
/************************************************************************** \
* phpGroupWare - Setup *
* http :// www . phpgroupware . org *
* -------------------------------------------- *
* 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 ; either version 2 of the License , or ( at your *
* option ) any later version . *
\ **************************************************************************/
/* $Id$ */
$test [] = " 0.9.3pre1 " ;
2001-05-18 05:28:54 +02:00
function calendar_upgrade0_9_3pre1 ()
2001-05-18 05:19:49 +02:00
{
global $phpgw_info ;
v0_9_2to0_9_3update_owner ( " webcal_entry " , " cal_create_by " );
v0_9_2to0_9_3update_owner ( " webcal_entry_user " , " cal_login " );
2001-05-18 05:33:49 +02:00
$phpgw_info [ " setup " ][ " currentver " ][ " calendar " ] = " 0.9.3pre2 " ;
2001-05-18 05:19:49 +02:00
}
$test [] = " 0.9.4pre2 " ;
2001-05-18 05:28:54 +02:00
function calendar_upgrade0_9_4pre2 ()
2001-05-18 05:19:49 +02:00
{
global $phpgw_info , $oProc ;
$oProc -> RenameColumn ( " webcal_entry " , " cal_create_by " , " cal_owner " );
$oProc -> AlterColumn ( " webcal_entry " , " cal_owner " , array ( " type " => " int " , " precision " => 4 , " nullable " => false ));
2001-05-18 05:33:49 +02:00
$phpgw_info [ " setup " ][ " currentver " ][ " calendar " ] = " 0.9.4pre3 " ;
2001-05-18 05:19:49 +02:00
}
$test [] = " 0.9.7pre1 " ;
2001-05-18 05:28:54 +02:00
function calendar_upgrade0_9_7pre1 ()
2001-05-18 05:19:49 +02:00
{
global $phpgw_info , $oProc ;
$db2 = $oProc -> m_odb ;
$oProc -> CreateTable ( " calendar_entry " , array (
" fd " => array (
" cal_id " => array ( " type " => " auto " , " nullable " => false ),
" cal_owner " => array ( " type " => " int " , " precision " => 4 , " nullable " => false , " default " => " 0 " ),
" cal_group " => array ( " type " => " varchar " , " precision " => 255 ),
" cal_datetime " => array ( " type " => " int " , " precision " => 4 ),
" cal_mdatetime " => array ( " type " => " int " , " precision " => 4 ),
" cal_duration " => array ( " type " => " int " , " precision " => 4 , " nullable " => false , " default " => " 0 " ),
" cal_priority " => array ( " type " => " int " , " precision " => 4 , " nullable " => false , " default " => " 2 " ),
" cal_type " => array ( " type " => " varchar " , " precision " => 10 ),
" cal_access " => array ( " type " => " varchar " , " precision " => 10 ),
" cal_name " => array ( " type " => " varchar " , " precision " => 80 , " nullable " => false ),
" cal_description " => array ( " type " => " text " )
),
" pk " => array ( " cal_id " ),
" ix " => array (),
" fk " => array (),
" uc " => array ()
));
$oProc -> m_odb -> query ( " SELECT count(*) FROM webcal_entry " , __LINE__ , __FILE__ );
$oProc -> m_odb -> next_record ();
if ( $oProc -> m_odb -> f ( 0 ))
{
$oProc -> m_odb -> query ( " SELECT cal_id,cal_owner,cal_duration,cal_priority,cal_type,cal_access,cal_name,cal_description,cal_id,cal_date,cal_time,cal_mod_date,cal_mod_time FROM webcal_entry ORDER BY cal_id " , __LINE__ , __FILE__ );
while ( $oProc -> m_odb -> next_record ())
{
$cal_id = $oProc -> m_odb -> f ( " cal_id " );
$cal_owner = $oProc -> m_odb -> f ( " cal_owner " );
$cal_duration = $oProc -> m_odb -> f ( " cal_duration " );
$cal_priority = $oProc -> m_odb -> f ( " cal_priority " );
$cal_type = $oProc -> m_odb -> f ( " cal_type " );
$cal_access = $oProc -> m_odb -> f ( " cal_access " );
$cal_name = $oProc -> m_odb -> f ( " cal_name " );
$cal_description = $oProc -> m_odb -> f ( " cal_description " );
$datetime = mktime ( intval ( strrev ( substr ( strrev ( $oProc -> m_odb -> f ( " cal_time " )), 4 ))), intval ( strrev ( substr ( strrev ( $oProc -> m_odb -> f ( " cal_time " )), 2 , 2 ))), intval ( strrev ( substr ( strrev ( $oProc -> m_odb -> f ( " cal_time " )), 0 , 2 ))), intval ( substr ( $oProc -> m_odb -> f ( " cal_date " ), 4 , 2 )), intval ( substr ( $oProc -> m_odb -> f ( " cal_date " ), 6 , 2 )), intval ( substr ( $oProc -> m_odb -> f ( " cal_date " ), 0 , 4 )));
$moddatetime = mktime ( intval ( strrev ( substr ( strrev ( $oProc -> m_odb -> f ( " cal_mod_time " )), 4 ))), intval ( strrev ( substr ( strrev ( $oProc -> m_odb -> f ( " cal_mod_time " )), 2 , 2 ))), intval ( strrev ( substr ( strrev ( $oProc -> m_odb -> f ( " cal_mod_time " )), 0 , 2 ))), intval ( substr ( $oProc -> m_odb -> f ( " cal_mod_date " ), 4 , 2 )), intval ( substr ( $oProc -> m_odb -> f ( " cal_mod_date " ), 6 , 2 )), intval ( substr ( $oProc -> m_odb -> f ( " cal_mod_date " ), 0 , 4 )));
$db2 -> query ( " SELECT groups FROM webcal_entry_groups WHERE cal_id= " . $cal_id , __LINE__ , __FILE__ );
$db2 -> next_record ();
$cal_group = $db2 -> f ( " groups " );
$db2 -> query ( " INSERT INTO calendar_entry(cal_id,cal_owner,cal_group,cal_datetime,cal_mdatetime,cal_duration,cal_priority,cal_type,cal_access,cal_name,cal_description) "
. " VALUES( " . $cal_id . " ,' " . $cal_owner . " ',' " . $cal_group . " ', " . $datetime . " , " . $moddatetime . " , " . $cal_duration . " , " . $cal_priority . " ,' " . $cal_type . " ',' " . $cal_access . " ',' " . $cal_name . " ',' " . $cal_description . " ') " , __LINE__ , __FILE__ );
}
}
$oProc -> DropTable ( " webcal_entry_groups " );
$oProc -> DropTable ( " webcal_entry " );
$oProc -> CreateTable ( " calendar_entry_user " , array (
" fd " => array (
" cal_id " => array ( " type " => " int " , " precision " => 4 , " nullable " => false , " default " => " 0 " ),
" cal_login " => array ( " type " => " int " , " precision " => 4 , " nullable " => false , " default " => " 0 " ),
" cal_status " => array ( " type " => " char " , " precision " => 1 , " default " => " A " )
),
" pk " => array ( " cal_id " , " cal_login " ),
" ix " => array (),
" fk " => array (),
" uc " => array ()
));
$oProc -> m_odb -> query ( " SELECT count(*) FROM webcal_entry_user " , __LINE__ , __FILE__ );
$oProc -> m_odb -> next_record ();
if ( $oProc -> m_odb -> f ( 0 ))
{
$oProc -> m_odb -> query ( " SELECT cal_id,cal_login,cal_status FROM webcal_entry_user ORDER BY cal_id " , __LINE__ , __FILE__ );
while ( $oProc -> m_odb -> next_record ())
{
$cal_id = $oProc -> m_odb -> f ( " cal_id " );
$cal_login = $oProc -> m_odb -> f ( " cal_login " );
$cal_status = $oProc -> m_odb -> f ( " cal_status " );
$db2 -> query ( " INSERT INTO calendar_entry_user(cal_id,cal_login,cal_status) VALUES( " . $cal_id . " , " . $cal_login . " ,' " . $cal_status . " ') " , __LINE__ , __FILE__ );
}
}
$oProc -> DropTable ( " webcal_entry_user " );
$oProc -> CreateTable ( " calendar_entry_repeats " , array (
" fd " => array (
" cal_id " => array ( " type " => " int " , " precision " => 4 , " default " => " 0 " , " nullable " => false ),
" cal_type " => array ( " type " => " varchar " , " precision " => 20 , " default " => " daily " , " nullable " => false ),
" cal_use_end " => array ( " type " => " int " , " precision " => 4 , " default " => " 0 " ),
" cal_end " => array ( " type " => " int " , " precision " => 4 ),
" cal_frequency " => array ( " type " => " int " , " precision " => 4 , " default " => " 1 " ),
" cal_days " => array ( " type " => " char " , " precision " => 7 )
),
" pk " => array (),
" ix " => array (),
" fk " => array (),
" uc " => array ()
));
$oProc -> m_odb -> query ( " SELECT count(*) FROM webcal_entry_repeats " , __LINE__ , __FILE__ );
$oProc -> m_odb -> next_record ();
if ( $oProc -> m_odb -> f ( 0 ))
{
$oProc -> m_odb -> query ( " SELECT cal_id,cal_type,cal_end,cal_frequency,cal_days FROM webcal_entry_repeats ORDER BY cal_id " , __LINE__ , __FILE__ );
while ( $oProc -> m_odb -> next_record ())
{
$cal_id = $oProc -> m_odb -> f ( " cal_id " );
$cal_type = $oProc -> m_odb -> f ( " cal_type " );
if ( isset ( $oProc -> m_odb -> Record [ " cal_end " ]))
{
$enddate = mktime ( 0 , 0 , 0 , intval ( substr ( $phpgw_setup -> db -> f ( " cal_end " ), 4 , 2 )), intval ( substr ( $phpgw_setup -> db -> f ( " cal_end " ), 6 , 2 )), intval ( substr ( $phpgw_setup -> db -> f ( " cal_end " ), 0 , 4 )));
$useend = 1 ;
}
else
{
$enddate = 0 ;
$useend = 0 ;
}
$cal_frequency = $oProc -> m_odb -> f ( " cal_frequency " );
$cal_days = $oProc -> m_odb -> f ( " cal_days " );
$db2 -> query ( " INSERT INTO calendar_entry_repeats(cal_id,cal_type,cal_use_end,cal_end,cal_frequency,cal_days) VALUES( " . $cal_id . " ,' " . $cal_type . " ', " . $useend . " , " . $enddate . " , " . $cal_frequency . " ,' " . $cal_days . " ') " , __LINE__ , __FILE__ );
}
}
$oProc -> DropTable ( " webcal_entry_repeats " );
$oProc -> m_odb -> query ( " UPDATE applications SET app_tables='calendar_entry,calendar_entry_user,calendar_entry_repeats' WHERE app_name='calendar' " , __LINE__ , __FILE__ );
2001-05-18 05:33:49 +02:00
$phpgw_info [ " setup " ][ " currentver " ][ " calendar " ] = " 0.9.7pre2 " ;
2001-05-18 05:19:49 +02:00
}
$test [] = " 0.9.7pre2 " ;
2001-05-18 05:28:54 +02:00
function calendar_upgrade0_9_7pre2 ()
2001-05-18 05:19:49 +02:00
{
global $oldversion , $phpgw_info , $phpgw_setup , $oProc , $oDelta ;
$db2 = $oProc -> m_odb ;
$oProc -> RenameColumn ( " calendar_entry " , " cal_duration " , " cal_edatetime " );
$oProc -> m_odb -> query ( " SELECT cal_id,cal_datetime,cal_owner,cal_edatetime,cal_mdatetime FROM calendar_entry ORDER BY cal_id " , __LINE__ , __FILE__ );
if ( $oProc -> m_odb -> num_rows ())
{
while ( $oProc -> m_odb -> next_record ())
{
$db2 -> query ( " SELECT preference_value FROM preferences WHERE preference_name='tz_offset' AND preference_appname='common' AND preference_owner= " . $phpgw_setup -> db -> f ( " cal_owner " ), __LINE__ , __FILE__ );
$db2 -> next_record ();
$tz = $db2 -> f ( " preference_value " );
$cal_id = $oProc -> m_odb -> f ( " cal_id " );
$datetime = $oProc -> m_odb -> f ( " cal_datetime " ) - (( 60 * 60 ) * $tz );
$mdatetime = $oProc -> m_odb -> f ( " cal_mdatetime " ) - (( 60 * 60 ) * $tz );
$edatetime = $datetime + ( 60 * $oProc -> m_odb -> f ( " cal_edatetime " ));
$db2 -> query ( " UPDATE calendar_entry SET cal_datetime= " . $datetime . " , cal_edatetime= " . $edatetime . " , cal_mdatetime= " . $mdatetime . " WHERE cal_id= " . $cal_id , __LINE__ , __FILE__ );
}
}
2001-05-18 05:33:49 +02:00
$phpgw_info [ " setup " ][ " currentver " ][ " calendar " ] = " 0.9.7pre3 " ;
2001-05-18 05:19:49 +02:00
}
?>