home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / CMCD0404.ISO / Software / Freeware / Programare / groupoffice-com-2.01 / modules / addressbook / group.php < prev    next >
PHP Script  |  2004-03-08  |  4KB  |  133 lines

  1. <?php
  2. /*
  3. Copyright Intermesh 2003
  4. Author: Merijn Schering <mschering@intermesh.nl>
  5. Version: 1.0 Release date: 08 July 2003
  6.  
  7. This program is free software; you can redistribute it and/or modify it
  8. under the terms of the GNU General Public License as published by the
  9. Free Software Foundation; either version 2 of the License, or (at your
  10. option) any later version.
  11. */
  12.  
  13. require("../../Group-Office.php");
  14. $post_action = isset($post_action) ? $post_action : '';
  15.  
  16. $GO_SECURITY->authenticate();
  17. $GO_MODULES->authenticate('addressbook');
  18. require($GO_LANGUAGE->get_language_file('contacts'));
  19.  
  20. //load contact management class
  21. require($GO_CONFIG->class_path."addressbook.class.inc");
  22. $ab = new addressbook();
  23.  
  24. $addressbook_id = isset($_REQUEST['addressbook_id']) ? $_REQUEST['addressbook_id'] : 0;
  25. $group_id = isset($_REQUEST['group_id']) ? $_REQUEST['group_id'] : 0;
  26. $task = isset($_REQUEST['task']) ? $_REQUEST['task'] : '';
  27.  
  28. $return_to = $GO_MODULES->url.'addressbook.php?addressbook_id='.$addressbook_id.'&active_tab=1';
  29.  
  30. if ($addressbook_id > 0 && $addressbook = $ab->get_addressbook($addressbook_id))
  31. {
  32.     if (!$write_permission = $GO_SECURITY->has_permission($GO_SECURITY->user_id, $addressbook['acl_write']))
  33.     {
  34.         $read_permission = $GO_SECURITY->has_permission($GO_SECURITY->user_id, $addressbook['acl_read']);
  35.     }
  36. }
  37.  
  38. if (!$write_permission && !$read_permission)
  39. {
  40.     header('Location: '.$GO_CONFIG->host.'error_docs/403.php');
  41.     exit();
  42. }
  43.  
  44. if ($task == 'save_group')
  45. {
  46.     $name = trim($_POST['name']);
  47.     if ($name == '')
  48.     {
  49.         $feedback = "<p class=\"Error\">".$error_missing_field."</p>";
  50.     }else
  51.     {
  52.         $existing_group = $ab->get_group_by_name($addressbook_id, $name);
  53.         if ($group_id > 0)
  54.         {
  55.             if (!$existing_group)
  56.             {
  57.                 $ab->change_group_name($group_id, $name);
  58.                 header('Location: '.$return_to);
  59.                 exit();
  60.             }else
  61.             {
  62.                 if($existing_group['id'] != $group_id)
  63.                 {
  64.                     $feedback = "<p class=\"Error\">".$ab_group_exists."</p>";
  65.                 }
  66.             }
  67.  
  68.         }else
  69.         {
  70.             if ($existing_group)
  71.             {
  72.                 $feedback = "<p class=\"Error\">".$ab_group_exists."</p>";
  73.             }elseif(!$ab->add_group($_POST['addressbook_id'], $name))
  74.             {
  75.                 $feedback = "<p class=\"Error\">".$strSaveError."</p>";
  76.             }else
  77.             {
  78.                 header('Location: '.$return_to);
  79.                 exit();
  80.             }
  81.         }
  82.     }
  83. }
  84.  
  85. if ($group_id > 0 && $group = $ab->get_group($group_id))
  86. {
  87.     $name = $group['name'];
  88.     //create a tabbed window
  89.     $tabtable = new tabtable('group', $contacts_group, '400', '120', '120', '', true);
  90. }else
  91. {
  92.     $tabtable = new tabtable('group', $ab_new_group, '400', '120', '120', '', true);
  93.     $name = isset($_REQUEST['name']) ? $_REQUEST['name'] : '';
  94. }
  95. require($GO_THEME->theme_path."header.inc");
  96. $tabtable->print_head();
  97. ?>
  98. <form name="group_form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  99. <input type="hidden" name="addressbook_id" value="<?php echo $_REQUEST['addressbook_id']; ?>" />
  100. <input type="hidden" name="group_id" value="<?php echo $_REQUEST['group_id']; ?>" />
  101. <input type="hidden" name="task" value="save_group" />
  102.  
  103. <table border="0" cellspacing="0" cellpadding="4">
  104. <?php if (isset($feedback)) echo '<tr><td colspan="2">'.$feedback.'</td></tr>'; ?>
  105. <tr>
  106.     <td>
  107.     <?php echo $strName; ?>:
  108.     </td>
  109.     <td>
  110.     <?php $name = isset($name) ? $name : ''; ?>
  111.     <input type="text" class="textbox" name="name" maxlength="50" size="30" value="<?php echo $name; ?>" />
  112.     </td>
  113. </tr>
  114. <tr height="25">
  115.     <td colspan="2">
  116.     <br />
  117.     <?php
  118.     $button = new button($cmdOk, 'javascript:document.forms[0].submit()');
  119.     echo '  ';
  120.     $button = new button($cmdCancel,"javascript:document.location='".$return_to."';");
  121.     ?>
  122.     </td>
  123. </tr>
  124. </table>
  125.  
  126. <script type="text/javascript">
  127. document.forms[0].name.focus();
  128. </script>
  129. <?php
  130. $tabtable->print_foot();
  131. require($GO_THEME->theme_path."footer.inc");
  132. ?>
  133.