PageRenderTime 324ms CodeModel.GetById 20ms RepoModel.GetById 1ms app.codeStats 0ms

/modules/intranet_email/intra-email-addrbook.php

https://github.com/timschofield/2.8
PHP | 336 lines | 263 code | 36 blank | 37 comment | 40 complexity | 1e01cc9979215389c6cfef07211147ab MD5 | raw file
Possible License(s): LGPL-2.1, BSD-3-Clause, GPL-2.0
  1. <?php
  2. error_reporting(E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR);
  3. require('./roots.php');
  4. require('../../include/helpers/inc_environment_global.php');
  5. /**
  6. * CARE2X Integrated Hospital Information System Deployment 2.1 - 2004-10-02
  7. * GNU General Public License
  8. * Copyright 2002,2003,2004,2005 Elpidio Latorilla
  9. * elpidio@care2x.org,
  10. *
  11. * See the file "copy_notice.txt" for the licence notice
  12. */
  13. define('MODULE','intranet_email');
  14. define('LANG_FILE_MODULAR','intranet_email.php');
  15. $local_user='ck_intra_email_user';
  16. require_once($root_path.'include/helpers/inc_front_chain_lang.php');
  17. /**
  18. * check the info params for completeness
  19. */
  20. if(!isset($addr)) $addr='';
  21. if(!isset($mode)) $mode='';
  22. if(!isset($task)) $task='';
  23. $addr=trim($addr);
  24. if(($mode=='saveadd')&&($addr=='')) { header('location:intra-email-addrbook.php'.URL_REDIRECT_APPEND); exit;}
  25. $thisfile=basename(__FILE__);
  26. $breakfile='intra-email.php'.URL_APPEND.'&mode=listmail';
  27. $dbtable='care_mail_private_users';
  28. $linecount=0;
  29. $modetypes=array('sendmail','listmail');
  30. $sql="SELECT addr_book, lastcheck FROM $dbtable WHERE email='".$_COOKIE[$local_user.$sid]."'";
  31. if($ergebnis=$db->Execute($sql))
  32. {
  33. if($rows=$ergebnis->RecordCount())
  34. {
  35. $content=$ergebnis->FetchRow();
  36. switch($task)
  37. {
  38. // if new address save new address
  39. case 'saveadd':
  40. {
  41. $buf="n=$name&a=$alias&e=$addr@$dept\r\n";
  42. // $content[addr_book]=trim($content[addr_book]);
  43. if($content['addr_book']=="") $content['addr_book']=$buf;
  44. else $content[addr_book].="_".$buf;
  45. $sql="UPDATE $dbtable SET addr_book='".$content['addr_book']."' , lastcheck='".$content['lastcheck']."'
  46. WHERE email='".$_COOKIE[$local_user.$sid]."'";
  47. $db->BeginTrans();
  48. $ok=$db->Execute($sql);
  49. if($ok&&$db->CommitTrans())
  50. {
  51. header("location:intra-email-addrbook.php".URL_REDIRECT_APPEND."&l2h=$l2h&folder=$folder&mode=$mode");
  52. exit;
  53. } else {
  54. $db->RollbackTrans();
  55. echo "$LDDbNoUpdate<br>$sql";
  56. }
  57. break;
  58. }
  59. // if mode is delete entry
  60. case 'delete':
  61. { //$content[addr_book]=strtolower($content[addr_book]);
  62. $inb=explode("_",trim($content[addr_book]));
  63. for($i=0;$i<sizeof($inb);$i++)
  64. {
  65. for($n=0;$n<$maxrow;$n++)
  66. {
  67. $delbuf="del$n";
  68. if(!$$delbuf) continue;
  69. $delbuf2=trim(strtr($$delbuf,"+"," "));
  70. //echo "$delbuf2<br>$inb[$i]<br>";
  71. //echo "vor comp $delbuf2<br>$inb[$i]<br>";
  72. if(!strcmp($delbuf2,strtolower(trim($inb[$i]))))
  73. {
  74. //echo "nach comp $delbuf2<br>$inb[$i]<br>";
  75. $trash=array_splice($inb,$i,1);//echo "trash <br>";
  76. $i--;
  77. break;
  78. }
  79. }
  80. }
  81. $content['addr_book']=implode('_',$inb);
  82. $sql="UPDATE $dbtable SET addr_book='".trim($content['addr_book'])."', lastcheck='".$content['lastcheck']."'
  83. WHERE email='".$_COOKIE[$local_user.$sid]."'";
  84. $db->BeginTrans();
  85. $ok=$db->Execute($sql);
  86. if($ok&&$db->CommitTrans()) {
  87. header("location:intra-email-addrbook.php".URL_REDIRECT_APPEND."&l2h=$l2h&folder=$folder&mode=$mode");
  88. exit;
  89. } else {
  90. $db->RollbackTrans();
  91. echo "$LDDbNoUpdate<br>$sql";
  92. }
  93. break;
  94. }
  95. } // end of switch mode
  96. } //end of if rows
  97. }else { echo "$LDDbNoRead<br>$sql"; }
  98. # Start Smarty templating here
  99. /**
  100. * LOAD Smarty
  101. */
  102. # Note: it is advisable to load this after the inc_front_chain_lang.php so
  103. # that the smarty script can use the user configured template theme
  104. require_once(CARE_BASE.'/include/helpers/smarty_care.class.php');
  105. $smarty = new smarty_care('common');
  106. # Title in toolbar
  107. $smarty->assign('sToolbarTitle',"$LDIntraEmail - $LDAddrBook");
  108. $smarty->assign('LDBack', $LDBack);
  109. $smarty->assign('LDHelp', $LDHelp);
  110. $smarty->assign('LDClose', $LDClose);
  111. # href for help button
  112. $smarty->assign('pbHelp',CARE_GUI . "modules/" . MODULE . "/help/" . $lang . "/intramail.html");
  113. # href for close button
  114. $smarty->assign('breakfile',$breakfile);
  115. # Window bar title
  116. $smarty->assign('title',"$LDIntraEmail - $LDAddrBook");
  117. # Set body onLoad javascript
  118. if($task=="newadd") $smarty->assign('sOnLoadJs','onLoad="document.newform.name.focus();"');
  119. # Collect extra javascript code
  120. ob_start();
  121. ?>
  122. <script language="javascript" >
  123. <!--
  124. function newAddr()
  125. {
  126. document.addrlist.task.value="newadd";
  127. document.addrlist.submit();
  128. }
  129. function chkAddress(d)
  130. {
  131. if(d.addr.value=="")
  132. {
  133. alert("<?php echo $LDNoEmailAddress; ?>");
  134. d.addr.focus();
  135. return false;
  136. }
  137. return true;
  138. }
  139. function chkDelete(d,m)
  140. {
  141. for (i=0;i<m;i++){
  142. if(eval("d.del"+i+".checked"))
  143. if(confirm("<?php echo $LDConfirmDeleteAddr ?>")) return true;
  144. else {
  145. for (i=0;i<m;i++) if(eval("d.del"+i+".checked")) eval("d.del"+i+".checked=false");
  146. d.sel_all.checked=false;
  147. break;
  148. }
  149. }
  150. return false;
  151. }
  152. function selectAll(s,m)
  153. {
  154. if(s.checked) v="true"; else v="false";
  155. d=document.addrlist;
  156. for(i=0;i<m;i++) eval("d.del"+i+".checked="+v);
  157. }
  158. // -->
  159. </script>
  160. <?php
  161. $sTemp = ob_get_contents();
  162. ob_end_clean();
  163. $smarty->append('JavaScript',$sTemp);
  164. # Start buffering page output
  165. ob_start();
  166. echo '
  167. &nbsp; <b><a href="intra-email.php'.URL_APPEND.'&mode=listmail">'.$LDInbox.'</a> |
  168. <a href="intra-email.php'.URL_APPEND.'&mode=compose">'.$LDNewEmail.'</a> | '.$LDAddrBook.' |
  169. <a href="javascript:gethelp(\'intramail.php\',\'address\',\''.$mode.'\',\''.$folder.'\')">'.$LDHelp.'</a>|
  170. <a href="intra-email-pass.php'.URL_APPEND.'">'.$LDLogout.'</a></b>
  171. <hr color=#000080>
  172. &nbsp; <FONT color="#800000">'.$_COOKIE[$local_user.$sid].'</font>';
  173. ?>
  174. <?php if($task=="newadd") : ?>
  175. <p><ul>
  176. <form name=newform action="<?php echo $thisfile ?>" method=post onSubmit="return chkAddress(this)">
  177. <FONT face="Verdana,Helvetica,Arial" size=2 color="#000080"><b><?php echo $LDSaveNewAddr ?></b></font>
  178. <table border=0>
  179. <tr bgcolor=#f9f9f9>
  180. <td>&nbsp;<?php echo "$LDName, $LDFirstName" ?>:</td>
  181. <td colspan=2><input type="text" name="name" size=25 maxlength=40 value="<?php echo $name ?>">
  182. </td>
  183. </tr>
  184. <tr bgcolor=#f9f9f9>
  185. <td>&nbsp;<?php echo "$LDAlias/$LDShortName" ?>:</td>
  186. <td colspan=2><input type="text" name="alias" size=25 maxlength=40 value="<?php echo $alias ?>" ></td>
  187. </tr>
  188. <tr bgcolor=#f9f9f9>
  189. <td>&nbsp;<?php echo $LDEmailAddr ?>:<br></td>
  190. <td><input type="text" name="addr" size=25 maxlength=40 value="<?php echo $addr ?>"></td>
  191. <td><FONT face="Verdana,Helvetica,Arial" size=2 color="#800000"><b>@</b>
  192. <select name="dept" size=1>
  193. <?php require("includes/inc_email_domains_options.php");
  194. for ($j=0;$j<sizeof($email_domains);$j++)
  195. {
  196. echo '
  197. <option value="'.$email_domains[$j].'"';
  198. if ($dept==$email_domains[$j]) echo "selected";
  199. echo '>'.$email_domains[$j].'</option>';
  200. }
  201. ?>
  202. </select>
  203. </td>
  204. </tr>
  205. <tr >
  206. <td><input type="submit" value="<?php echo $LDSave ?>"></td>
  207. <td colspan=2><input type="reset" value="<?php echo $LDJustReset ?>">
  208. <input type="button" value="<?php echo $LDCancel ?>" onClick="window.location.replace('intra-email-addrbook.php?sid=<?php echo "$sid&lang=$lang&mode=$mode&l2h=$l2h&folder=$folder" ?>')"></td>
  209. </tr>
  210. </table>
  211. <input type="hidden" name="sid" value="<?php echo $sid ?>">
  212. <input type="hidden" name="lang" value="<?php echo $lang ?>">
  213. <input type="hidden" name="task" value="saveadd">
  214. <input type="hidden" name="l2h" value="<?php echo $l2h ?>">
  215. <input type="hidden" name="folder" value="<?php echo $folder ?>">
  216. <input type="hidden" name="mode" value="<?php echo $mode ?>">
  217. </form>
  218. </ul>
  219. <hr color=#000080>
  220. <?php endif; ?>
  221. <?php
  222. // ******************************** show address book***************************************
  223. $arrlist=explode("_",strtolower($content[addr_book]));
  224. if($l2h) rsort($arrlist); else sort($arrlist);
  225. reset($arrlist);
  226. $maxrow=sizeof($arrlist);
  227. if(($maxrow==1)&&($arrlist[0]=="")) $maxrow=0;
  228. echo '</b></font>
  229. <form name="addrlist" action="intra-email-addrbook.php" method="post" onSubmit="return chkDelete(this,'.sizeof($arrlist).')">
  230. ';
  231. if ($maxrow>6) echo '
  232. <input type="submit" value="'.$LDDelete.'"> &nbsp; &nbsp; <input type="button" value="'.$LDAddNewAddr.'" onClick="newAddr()">
  233. <br>';
  234. echo ' <table border=0 cellspacing=0 width=100% cellpadding=0>
  235. <tr ><td colspan=6 height=1><img src="'.$root_path.'gui/img/common/default/pixel.gif" border=0 height=3 width=1></td></tr>
  236. <tr class="adm_list_titlebar">
  237. <td>&nbsp;</td>
  238. <td> <input type="checkbox" name="sel_all" value="1" onClick="selectAll(this,'.$maxrow.')"><br>
  239. </td>
  240. <td>';
  241. if($l2h) echo '<a href="'.$thisfile.''.URL_APPEND.'&l2h=0&mode='.$mode.'&folder='.$folder.'" title="'.$LDSortName.'"><img src="'.$root_path.'gui/img/common/default/arw_down.gif" '; else echo '<a href="'.$thisfile.''.URL_APPEND.'&l2h=1&mode='.$mode.'&folder='.$folder.'" title="'.$LDSortName.'"><img src="'.$root_path.'gui/img/common/default/arw_up.gif" ';
  242. echo '
  243. width=12 height=20 border=0 align=absmiddle alt="'.$LDSortName.'">&nbsp;'.$LDName.','.$LDFirstName.':</td>
  244. <td>&nbsp;&nbsp;'.$LDAlias.'/'.$LDShortName.':
  245. </td>
  246. <td>'.$LDEmailAddr.':</font></a></td>
  247. </tr>';
  248. for($i=0;$i<sizeof($arrlist);$i++)
  249. {
  250. parse_str(trim($arrlist[$i]),$minfo);
  251. if(!isset($minfo['e'])) continue;
  252. //$buf="intra-email-read.php?sid=$sid&ua=$ck_intra_email_user&s_stamp=$minfo[t]&read=$minfo[r]&from=$minfo[f]&subj=".strtr($minfo[s]," ","+")."&date=".strtr($minfo[d]," ","+")."&size=$minfo[z]&l2h=$l2h&folder=$folder";
  253. $delbuf="n=$minfo[n]&a=$minfo[a]&e=$minfo[e]";
  254. echo ' <tr bgcolor="#ffffff">
  255. <td>&nbsp;</td>
  256. <td> <input type="checkbox" name="del'.$i.'" value="'.strtr($delbuf," ","+").'"><br>
  257. </td>
  258. <td>&nbsp; &nbsp; &nbsp; <a href="#" title="'.$LDMoreInfo.'">'.ucwords($minfo[n]).'</a></td>
  259. <td>&nbsp;&nbsp;'.$minfo[a].'</td>
  260. <td>&nbsp;&nbsp;'.$minfo[e].'</td>
  261. </tr>
  262. <tr ><td bgcolor="#66aace" colspan=6 height=1><img src="'.$root_path.'gui/img/common/default/pixel.gif" border=0 height=1 width=1></td></tr>';
  263. }
  264. echo '
  265. <tr ><td colspan=6 height=1><img src="'.$root_path.'gui/img/common/default/pixel.gif" border=0 height=3 width=1></td></tr>
  266. </table>';
  267. if($maxrow) echo '
  268. <input type="submit" value="'.$LDDelete.'"> ';
  269. echo '&nbsp; &nbsp; <input type="button" value="'.$LDAddNewAddr.'" onClick=newAddr()>
  270. <br><input type="hidden" name="task" value="delete">
  271. <input type="hidden" name="maxrow" value="'.$maxrow.'">
  272. <input type="hidden" name="sid" value="'.$sid.'">
  273. <input type="hidden" name="lang" value="'.$lang.'">
  274. <input type="hidden" name="l2h" value="'.$l2h.'">
  275. <input type="hidden" name="folder" value="'.$folder.'">
  276. <input type="hidden" name="mode" value="'.$mode.'">
  277. </form>
  278. ';
  279. echo ' &nbsp; &nbsp;
  280. <font size=1><a href="intra-email.php'.URL_APPEND.'&mode='.$mode.'&l2h='.$l2h.'&folder='.$folder.'">
  281. <img '.createComIcon($root_path,'l_arrowgrnsm.gif','0','middle').'> '.$LDBack2.' ';
  282. if($mode=="compose") echo $LDWriteEmail;
  283. else
  284. switch($folder)
  285. {
  286. case "inbox": echo $LDInbox; break;
  287. case "sent": echo $LDSent; break;
  288. case "drafts": echo $LDDrafts; break;
  289. case "trash": echo $LDRecycle; break;
  290. }
  291. echo '</a></font>';
  292. $sTemp = ob_get_contents();
  293. ob_end_clean();
  294. # Assign to main template object
  295. $smarty->assign('sMainFrameBlockData',$sTemp);
  296. /**
  297. * show Template
  298. */
  299. $smarty->display(CARE_BASE . 'main/view/mainframe.tpl');
  300. ?>