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