home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / CMCD0404.ISO / Software / Freeware / Programare / groupoffice-com-2.01 / modules / addressbook / index.php < prev    next >
PHP Script  |  2004-03-08  |  9KB  |  224 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. $GO_SECURITY->authenticate();
  15. $GO_MODULES->authenticate('addressbook');
  16. require($GO_LANGUAGE->get_language_file('contacts'));
  17.  
  18. $link_back = (isset($_REQUEST['link_back']) && $_REQUEST['link_back'] != '') ? $_REQUEST['link_back'] : $_SERVER['REQUEST_URI'];
  19. $post_action = isset($_REQUEST['post_action']) ? $_REQUEST['post_action'] : '';
  20. $task = isset($_REQUEST['task']) ? $_REQUEST['task'] : '';
  21.  
  22. //remember sorting in cookie
  23.  
  24. if (isset($_REQUEST['newsort']) && $_REQUEST['newsort'] != '')
  25. {
  26.     SetCookie("contact_sort",$_REQUEST['newsort'],time()+3600*24*365,"/","",0);
  27.     $_COOKIE['contact_sort'] = $_REQUEST['newsort'];
  28. }
  29. if (isset($_REQUEST['newdirection']) && $_REQUEST['newdirection'] != '')
  30. {
  31.     SetCookie("contact_direction",$_REQUEST['newdirection'],time()+3600*24*365,"/","",0);
  32.     $_COOKIE['contact_direction'] = $_REQUEST['newdirection'];
  33. }
  34.  
  35. //this is for companies (lazy)
  36. if (isset($_REQUEST['new_sort_field']) && $_REQUEST['new_sort_field'] != '')
  37. {
  38.     SetCookie("abco_sort_field",$_REQUEST['new_sort_field'],time()+3600*24*365,"/","",0);
  39.     $_COOKIE['abco_sort_field'] = $_REQUEST['new_sort_field'];
  40. }
  41. if (isset($_REQUEST['new_sort_direction']) && $_REQUEST['new_sort_direction'] != '')
  42. {
  43.     SetCookie("abco_sort_direction",$_REQUEST['new_sort_direction'],time()+3600*24*365,"/","",0);
  44.     $_COOKIE['abco_sort_direction'] = $_REQUEST['new_sort_direction'];
  45. }
  46.  
  47. if (isset($_REQUEST['search_type']))
  48. {
  49.     SetCookie("ab_search_type",$_REQUEST['search_type'],time()+3600*24*365,"/","",0);
  50.     $_COOKIE['ab_search_type'] = $_REQUEST['search_type'];
  51. }
  52.  
  53. if ($task == 'search' || $task == 'show_letter')
  54. {
  55.     if ($_REQUEST['search_type'] == 'companies')
  56.     {
  57.         SetCookie("ab_search_companies_field",$_REQUEST['search_field'],time()+3600*24*365,"/","",0);
  58.         $_COOKIE['ab_search_companies_field'] = $_REQUEST['search_field'];
  59.     }else
  60.     {
  61.         SetCookie("ab_search_contacts_field",$_REQUEST['search_field'],time()+3600*24*365,"/","",0);
  62.         $_COOKIE['ab_search_contacts_field'] = $_REQUEST['search_field'];
  63.     }
  64. }
  65.  
  66. if (isset($_REQUEST['search_addressbook_id']))
  67. {
  68.     SetCookie("ab_search_addressbook_id",$_REQUEST['search_addressbook_id'],time()+3600*24*365,"/","",0);
  69.     $_COOKIE['ab_search_addressbook_id'] = $_REQUEST['search_addressbook_id'];
  70. }
  71.  
  72.  
  73. //load contact management class
  74. require($GO_CONFIG->class_path."addressbook.class.inc");
  75. $ab = new addressbook();
  76.  
  77. if ($_SERVER['REQUEST_METHOD'] == 'POST')
  78. {
  79.     switch($post_action)
  80.        {
  81.         case 'delete_addressbook':
  82.             $delete_ab = $ab->get_addressbook($_POST['delete_addressbook_id']);
  83.  
  84.             if($GO_SECURITY->has_permission($GO_SECURITY->user_id, $delete_ab['acl_write']))
  85.             {
  86.                 $default_id = $ab->get_default_addressbook($GO_SECURITY->user_id);
  87.                 if ($ab->delete_addressbook($_POST['delete_addressbook_id']))
  88.                 {
  89.                     $GO_SECURITY->delete_acl($delete_ab['acl_write']);
  90.                     $GO_SECURITY->delete_acl($delete_ab['acl_read']);
  91.                 }
  92.  
  93.                 $ab->get_subscribed_addressbooks($GO_SECURITY->user_id);
  94.                 if ($ab->next_record())
  95.                 {
  96.                     $next_id = $ab->f('id');
  97.                     if ($_POST['delete_addressbook_id'] == $default_id)
  98.                     {
  99.                         $ab->set_default_addressbook($GO_SECURITY->user_id, $next_id);
  100.                     }
  101.                     if ($_POST['addressbook_id'] = $_POST['delete_addressbook_id'])
  102.                     {
  103.                         $_POST['addressbook_id'] = $next_id;
  104.                     }
  105.                 }else
  106.                 {
  107.                     unset($addressbook_id);
  108.                 }
  109.  
  110.             }
  111.             $post_action = 'addressbooks';
  112.         break;
  113.  
  114.         case 'subscribe':
  115.             $ab->unsubscribe_all($GO_SECURITY->user_id);
  116.             if(isset($_POST['subscribed']))
  117.             {
  118.                 for ($i=0;$i<sizeof($_POST['subscribed']);$i++)
  119.                 {
  120.                     $ab->subscribe($GO_SECURITY->user_id, $_POST['subscribed'][$i]);
  121.                 }
  122.             }
  123.  
  124.             if (!$ab->is_subscribed($GO_SECURITY->user_id, $_POST['default_addressbook_id']))
  125.             {
  126.                 $ab->subscribe($GO_SECURITY->user_id, $_POST['default_addressbook_id']);
  127.             }
  128.             $ab->set_default_addressbook($GO_SECURITY->user_id, $_POST['default_addressbook_id']);
  129.             $post_action = 'addressbooks';
  130.         break;
  131.  
  132.     }
  133. }
  134.  
  135. $addressbook_id = isset($_REQUEST['addressbook_id']) ? $_REQUEST['addressbook_id'] : $ab->get_default_addressbook($GO_SECURITY->user_id);
  136.  
  137. if (!$addressbook_id)
  138. {
  139.     $ab_name = $_SESSION['GO_SESSION']['name'];
  140.     $new_ab_name = $ab_name;
  141.     $x = 1;
  142.     while($ab->get_addressbook_by_name($new_ab_name))
  143.     {
  144.         $new_ab_name = $ab_name.' ('.$x.')';
  145.         $x++;
  146.     }
  147.     $addressbook_id = $ab->add_addressbook($GO_SECURITY->user_id, $new_ab_name);
  148. }
  149.  
  150. $addressbook = $ab->get_addressbook($addressbook_id);
  151.  
  152. $page_title = $lang_modules['contacts'];
  153. require($GO_THEME->theme_path."header.inc");
  154. ?>
  155. <table border="0" cellspacing="0" cellpadding="0">
  156. <tr>
  157.     <td class="ModuleIcons">
  158.     <a class="small" href="<?php echo $_SERVER['PHP_SELF']; ?>?post_action=search&addressbook_id=<?php echo $addressbook_id; ?>"><img src="<?php echo $GO_THEME->images['ab_search']; ?>" border="0" height="32" width="32" /><br /><?php echo $contacts_search; ?></a></td>
  159.     </td>
  160.     <td class="ModuleIcons">
  161.     <a class="small" href="<?php echo $_SERVER['PHP_SELF']; ?>?post_action=browse&addressbook_id=<?php echo $addressbook_id; ?>"><img src="<?php echo $GO_THEME->images['ab_browse']; ?>" border="0" height="32" width="32" /><br /><?php echo $contacts_contacts; ?></a></td>
  162.     </td>
  163.     <td class="ModuleIcons">
  164.     <a class="small" href="<?php echo $_SERVER['PHP_SELF']; ?>?post_action=companies&addressbook_id=<?php echo $addressbook_id; ?>"><img src="<?php echo $GO_THEME->images['ab_companies']; ?>" border="0" height="32" width="32" /><br /><?php echo $ab_companies; ?></a></td>
  165.     </td>
  166.     <td class="ModuleIcons">
  167.     <a class="small" href="<?php echo $_SERVER['PHP_SELF']; ?>?post_action=members&addressbook_id=<?php echo $addressbook_id; ?>"><img src="<?php echo $GO_THEME->images['users']; ?>" border="0" height="32" width="32" /><br /><?php echo $contacts_members; ?></a></td>
  168.     </td>
  169.     <td class="ModuleIcons">
  170.     <a class="small" href="contact.php?addressbook_id=<?php echo $addressbook_id; ?>&return_to=<?php echo urlencode($link_back); ?>"><img src="<?php echo $GO_THEME->images['add_contact']; ?>" border="0" height="32" width="32" /><br /><?php echo $ab_new_contact; ?></a></td>
  171.     </td>
  172.     <td class="ModuleIcons">
  173.     <a class="small" href="company.php?addressbook_id=<?php echo $addressbook_id; ?>&return_to=<?php echo urlencode($link_back); ?>"><img src="<?php echo $GO_THEME->images['ab_add_company']; ?>" border="0" height="32" width="32" /><br /><?php echo $ab_new_company; ?></a></td>
  174.     </td>
  175.     <td class="ModuleIcons">
  176.     <a class="small" href="addressbooks.php?return_to=<?php echo urlencode($link_back); ?>"><img src="<?php echo $GO_THEME->images['ab_addressbooks']; ?>" border="0" height="32" width="32" /><br /><?php echo $ab_addressbooks; ?></a></td>
  177.     </td>
  178.     <?php
  179.     if ($tp_plugin = $GO_MODULES->get_plugin('templates'))
  180.     {
  181.         echo '<td class="ModuleIcons">';
  182.         echo '<a class="small" href="'.$tp_plugin['url'].'"><img src="'.$GO_THEME->images['new_slide'].'" border="0" height="32" width="32" /><br />'.$ab_templates.'</a></td>';
  183.  
  184.         echo '<td class="ModuleIcons">';
  185.         echo '<a class="small" href="'.$tp_plugin['url'].'mailings.php"><img src="'.$GO_THEME->images['mailings'].'" border="0" height="32" width="32" /><br />'.$ab_mailings.'</a></td>';
  186.  
  187.     }
  188.     if ($GO_MODULES->write_permissions && $GO_MODULES->get_plugin('custom_fields'))
  189.     {
  190.         echo '<td class="ModuleIcons">';
  191.         echo '<a class="small" href="custom_fields/"><img src="'.$GO_THEME->images['ab_custom_fields'].'" border="0" height="32" width="32" /><br />'.$ab_custom_fields.'</a></td>';
  192.     }
  193.     if ($post_action != 'members' && $post_action != 'addressbooks')
  194.     {
  195.         echo '<td class="ModuleIcons">';
  196.         echo '<a class="small" href="javascript:confirm_delete()"><img src="'.$GO_THEME->images['delete_big'].'" border="0" height="32" width="32" /><br />'.$contacts_delete.'</a></td>';
  197.     }
  198.  
  199.     ?>
  200. </tr>
  201. </table>
  202. <form name="contacts" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?post_action=<?php echo $post_action; ?>&addressbook_id=<?php echo $addressbook_id; ?>">
  203. <?php
  204. switch($post_action)
  205. {
  206.     case 'members':
  207.         require('members.inc');
  208.     break;
  209.  
  210.     case 'browse':
  211.         require("addressbook.inc");
  212.     break;
  213.  
  214.     case 'companies':
  215.         require('companies.inc');
  216.     break;
  217.  
  218.     default:
  219.         require('search.inc');
  220.     break;
  221. }
  222. ?>
  223. </form>
  224. <?php require($GO_THEME->theme_path."footer.inc"); ?>