home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / tsw / TSW_3.4.0.exe / Apache2 / admin / contacts_popup.php < prev    next >
Encoding:
PHP Script  |  2003-09-29  |  6.7 KB  |  192 lines

  1. <?php
  2. /////////////////////////////////////////////////////////
  3. //    
  4. //    source/contacts.php
  5. //
  6. //    (C)Copyright 2001-2002 Ryo Chijiiwa <Ryo@IlohaMail.org>
  7. //
  8. //        This file is part of IlohaMail.
  9. //        IlohaMail is free software released under the GPL 
  10. //        license.  See enclosed file COPYING for details,
  11. //        or see http://www.fsf.org/copyleft/gpl.html
  12. //
  13. /////////////////////////////////////////////////////////
  14.  
  15. /********************************************************
  16.  
  17.     AUTHOR: Ryo Chijiiwa <ryo@ilohamail.org>
  18.     FILE:  source/contacts.php
  19.     PURPOSE:
  20.         Contacts selection popup.
  21.  
  22. ********************************************************/
  23.  
  24. function FormatHeaderLink($user, $label, $color, $new_sort_field, $sort_field, $sort_order){
  25.     if (strcasecmp($new_sort_field, $sort_field)==0){
  26.         if (strcasecmp($sort_order, "ASC")==0) $sort_order="DESC";
  27.         else $sort_order = "ASC";
  28.     }
  29.     $link = "<a href=\"contacts_popup.php?user=$user&sort_field=$new_sort_field&sort_order=$sort_order\" class=\"mainHeading\">";
  30.     $link .= "<b>".$label."</b></a>";
  31.     return $link;
  32. }
  33.  
  34. function ShowRow($a, $id){
  35.     global $my_colors, $grp_sort;
  36.  
  37.     echo "<tr bgcolor=\"".$my_colors["main_bg"]."\">\n";
  38. #    $toString=(!empty($a["name"])?"\"".$a["name"]."\" ":"")."<".$a["email"].">";
  39. #    $toString=htmlspecialchars($toString);
  40.     if (empty($a["name"])) $a["name"]="--";
  41.     echo "<td><a href=\"javascript:addcontact2('$id');\">".$a["name"]."</a></td>";
  42.     echo "<td>".$a["email"]."</td>";
  43.     if (!$grp_sort) echo "<td>".$a["grp"]."</td>";
  44.     echo "</tr>\n";
  45. }
  46.  
  47. include("../include/super2global.inc");
  48. include("../include/contacts_commons.inc");
  49. include_once("../include/data_manager.inc");
  50. if (isset($user)){
  51.     include("../include/header_main.inc");
  52.     include("../lang/".$my_prefs["lang"]."/contacts.inc");
  53.     include("../lang/".$my_prefs["lang"]."/compose.inc");
  54.  
  55.     //authenticate
  56.     include_once("../include/icl.inc");
  57.     $conn=iil_Connect($host, $loginID, $password, $AUTH_MODE);
  58.     if ($conn){
  59.         iil_Close($conn);
  60.     }else{
  61.         echo "Authentication failed.";
  62.         echo "</html>\n";
  63.         exit;
  64.     }
  65.     
  66.     //initialize source name
  67.     $source_name = $DB_CONTACTS_TABLE;
  68.     if (empty($source_name)) $source_name = "contacts";
  69.     
  70.     //open data manager connection
  71.     $dm = new DataManager_obj;
  72.     if ($dm->initialize($loginID, $host, $source_name, $backend)){
  73.     }else{
  74.         echo "Data Manager initialization failed:<br>\n";
  75.         $dm->showError();
  76.     }
  77.         
  78.     //initialize sort fields and order
  79.     if (empty($sort_field)) $sort_field = "grp,name";
  80.     if (empty($sort_order)) $sort_order = "ASC";
  81.     if (ereg("^grp", $sort_field))  $grp_sort = true;
  82.     else $grp_sort = false;
  83.     
  84.     //fetch and sort
  85.     $contacts = $dm->sort($sort_field, $sort_order);
  86.     $numContacts = count($contacts);
  87.     $groups = explode(",", base64_decode(GetGroups($contacts)));
  88.  
  89.     //show error, if any
  90.     if (!empty($error)) echo "<p>".$error."<br>\n";
  91.     
  92.     
  93.     //show title heading
  94.     echo "\n<table width=\"100%\" cellpadding=2 cellspacing=0><tr bgcolor=\"".$my_colors["main_head_bg"]."\">\n";
  95.     echo "<td align=left valign=bottom>\n";
  96.     echo "<span class=\"bigTitle\">".$cStrings[0]."</span>\n";
  97.     echo "   ";
  98.     echo '<span class="mainHeadingSmall">';
  99.     echo '[<a href="javascript:close();" onClick="window.close();" class="mainHeadingSmall">'.$cStrings["close"].'</a>]';
  100.     echo '</span>';
  101.     echo "</td></tr></table>\n";
  102.  
  103.  
  104.     //show instructions
  105.     echo "<span class=mainLight>".$cStrings["instructions"]."</span>\n";
  106.     
  107.     //show controls
  108.     echo "<p><form method=\"POST\" name=\"contactsopts\" action=\"contacts_popup.php\">\n";
  109.     echo "<input type=\"hidden\" name=\"user\" value=\"$user\">\n";
  110.     echo "<input type=\"hidden\" name=\"cc\" value=\"$cc\">\n";
  111.     echo "<input type=\"hidden\" name=\"bcc\" value=\"$bcc\">\n";
  112.     echo "<input type=\"hidden\" name=\"sort_order\" value=\"$sort_order\">\n";
  113.     echo "<input type=\"hidden\" name=\"sort_field\" value=\"$sort_field\">\n";
  114.     echo "<table width=\"100%\"><tr>\n";
  115.     echo "<td valign=\"top\"><span class=mainLight>\n";
  116.         $select_str = "<select name=\"to_a_field\">\n";
  117.         $select_str.= "<option value=\"to\">".$composeHStrings[2].":\n";
  118.         if ($cc) $select_str.= "<option value=\"cc\">".$composeHStrings[3].":\n";
  119.         if ($bcc) $select_str.= "<option value=\"bcc\">".$composeHStrings[4].":\n";
  120.         $select_str.= "</select>\n";
  121.         echo str_replace("%s", $select_str, $cStrings["addto"]);
  122.     echo "</span></td>\n";
  123.     echo "<td valign=\"top\"><span class=mainLight>\n";
  124.         $select_str = "<select name=\"show_grp\" onChange=\"contactsopts.submit()\">\n";
  125.         $select_str.= "<option value=\"\" ".(empty($show_grp)?"SELECTED":"").">".$cStrings["all"]."\n";
  126.         while ( list($k,$val)=each($groups) ) $select_str.= "<option value=\"$val\" ".($show_grp==$val?"SELECTED":"").">$val\n";
  127.         $select_str.= "</select>\n";
  128.         echo str_replace("%s", $select_str, $cStrings["showgrp"]);
  129.     echo "</span></td>\n";
  130.     echo "</tr></table>\n";
  131.     echo "</form>\n";
  132.     flush();
  133.  
  134.     //show contacts
  135.     if ( is_array($contacts) && count($contacts) > 0){
  136.         reset($contacts);
  137.         $num_c=0;
  138.         echo "<script type=\"text/javascript\" language=\"JavaScript1.2\">\n";
  139.         echo "contacts = new Array(";
  140.         while( list($k1, $foobar) = each($contacts) ){
  141.             $a=$contacts[$k1];
  142.             if ($a["email"]){
  143.                 if ($num_c>0) echo ",\n";
  144.                 $name=(!empty($a["name"])?"\"".$a["name"]."\" ":"\"".$a["email"]."\"");
  145.                 echo "new Array($num_c,$name,\"".$a["email"]."\",\"".$a["grp"]."\")";
  146.                 $num_c++;
  147.             }
  148.             if ($a["email2"]){
  149.                 $name=(!empty($a["name"])?"\"".$a["name"]."\" ":"\"".$a["email2"]."\"");
  150.                 echo ",\nnew Array($num_c,$name,\"".$a["email2"]."\",\"".$a["grp"]."\")";
  151.                 $num_c++;
  152.             }
  153.         }
  154.         echo ");\n</script>";
  155.  
  156.         reset($contacts);
  157.         $num_c=0;
  158.         echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\" bgcolor=\"".$my_colors["main_hilite"]."\">\n";
  159.         echo "<tr bgcolor=\"".$my_colors["tool_bg"]."\">";
  160.         echo "<td>".FormatHeaderLink($user, $cStrings[3], $textc, "name", $sort_field, $sort_order)."</td>";
  161.         echo "<td>".FormatHeaderLink($user, $cStrings[4], $textc, "email", $sort_field, $sort_order)."</td>";
  162.         if (!$grp_sort) echo "<td>".FormatHeaderLink($user, $cStrings[6], $textc, "grp,name", $sort_field, $sort_order)."</td>";
  163.         echo "</tr>";
  164.         $prev_grp = "";
  165.         $num_c = 0;
  166.         while( list($k1, $foobar) = each($contacts) ){
  167.             $a=$contacts[$k1];
  168.             if (empty($show_grp) || $show_grp==$a["grp"]){
  169.                 if ($grp_sort && $a["grp"]!=$prev_grp){
  170.                     //$grp = str_replace(" ", "_", $a["grp"]);
  171.                     $toString = htmlspecialchars($a["grp"]);
  172.                     echo "<tr bgcolor=\"".$my_colors["main_bg"]."\"><td colspan=2 align=center><br><b>";
  173.                     echo "<a href=\"javascript:addgroup('$toString');\">".$a["grp"]."</a>";
  174.                     echo "</b></td></tr>";
  175.                     $prev_grp = $a["grp"];
  176.                 }
  177.                 if ($a["email"]){
  178.                     ShowRow($a, $num_c); $num_c++;
  179.                 }
  180.                 if ($a["email2"]){
  181.                     $a["email"] = $a["email2"];
  182.                     ShowRow($a, $num_c); $num_c++;
  183.                 }
  184.             }
  185.         }
  186.         echo "</table>\n";
  187.     }else{
  188.         echo "<p>".$cErrors[0];
  189.     }
  190. }
  191. ?>
  192. </BODY></HTML>