home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / CMCD0404.ISO / Software / Freeware / Programare / groupoffice-com-2.01 / lib / scripts / tt.php < prev    next >
PHP Script  |  2004-03-08  |  2KB  |  80 lines

  1. <?php
  2. require('../../Group-Office.php');
  3. /*
  4. This script will update the databse fopr version 1.96
  5. */
  6. echo 'Updating ACL Table...';
  7.  
  8. $acl_tables[] = 'ab_addressbooks';
  9. $acl_tables[] = 'cal_calendars';
  10. $acl_tables[] = 'cal_events';
  11. $acl_tables[] = 'cms_sites';
  12. $acl_tables[] = 'cms_templates';
  13. $acl_tables[] = 'fsShares';
  14. $acl_tables[] = 'pmProjects';
  15. $acl_tables[] = 'tp_templates';
  16.  
  17. require_once($GO_CONFIG->class_path.'email.class.inc');
  18. $db = new db();
  19. $db2 = new db();
  20.  
  21. if (!ini_set('max_execution_time', '3600'))
  22. {
  23.     die('Aborted: Could not set max_execution_time');
  24. }
  25.  
  26. $db->query("SELECT id FROM acl_items");
  27.  
  28. while($db->next_record())
  29. {
  30.     for ($i=0;$i<count($acl_tables);$i++)
  31.     {
  32.         $db2->query("SELECT user_id FROM ".$acl_tables[$i]." WHERE acl_read='".$db->f('id')."' OR  acl_write='".$db->f('id')."'");
  33.         if ($db2->next_record())
  34.         {
  35.             $user_id=$db2->f('user_id');
  36.             if ($user_id > 0)
  37.             {
  38.                 $db2->query("UPDATE acl_items SET user_id='$user_id' WHERE id='".$db->f('id')."'");
  39.                 break;
  40.             }
  41.         }
  42.     }
  43.     if ($user_id == 0)
  44.     {
  45.         $db2->query("SELECT id FROM users WHERE acl_id='".$db->f('id')."'");
  46.         if ($db2->next_record())
  47.         {
  48.             $user_id=$db2->f('id');
  49.             if ($user_id > 0)
  50.             {
  51.                 $db2->query("UPDATE acl_items SET user_id='$user_id' WHERE id='".$db->f('id')."'");
  52.             }
  53.         }
  54.     }
  55. }
  56. echo 'Done<br />Converting addressbook....';
  57.  
  58. $db->query("SELECT id, addressbook_id FROM ab_contacts");
  59.  
  60. while($db->next_record())
  61. {
  62.     $addressbook_id = $db->f('addressbook_id');
  63.     $contact_id = $db->f('id');
  64.  
  65.     $acl_read = $GO_SECURITY->get_new_acl('contact read');
  66.     $acl_write = $GO_SECURITY->get_new_acl('contact write');
  67.  
  68.     if($db2->query("UPDATE ab_contacts SET acl_read='$acl_read', acl_write='$acl_write' WHERE id='$contact_id'"))
  69.     {
  70.         $db2->query("SELECT acl_read, acl_write FROM ab_addressbooks WHERE id='$addressbook_id'");
  71.         if ($db2->next_record())
  72.         {
  73.             $addressbook = $db2->Record;
  74.             $GO_SECURITY->copy_acl($addressbook['acl_read'], $acl_read);
  75.             $GO_SECURITY->copy_acl($addressbook['acl_write'], $acl_write);
  76.         }
  77.     }
  78. }
  79. echo 'All Done<br />';
  80. ?>