home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / CMCD0404.ISO / Software / Freeware / Programare / groupoffice-com-2.01 / lib / scripts / 195.inc next >
Text File  |  2004-03-08  |  3KB  |  100 lines

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