![]() |
|---|
| [ Index ] |
Source Code Reference for V1.00 |
[Summary view] [Print] [Text view]
1 <?php /* $Id: addedit.php 115 2008-03-21 17:20:33Z pedroix $ $URL: https://web2project.svn.sourceforge.net/svnroot/web2project/trunk/modules/contacts/addedit.php $ */ 2 if (!defined('W2P_BASE_DIR')) { 3 die('You should not access this file directly.'); 4 } 5 6 $contact_id = intval(w2PgetParam($_GET, 'contact_id', 0)); 7 $company_id = intval(w2PgetParam($_REQUEST, 'company_id', 0)); 8 $dept_id = intval(w2PgetParam($_REQUEST, 'dept_id', 0)); 9 $company_name = ($_REQUEST['company_name'] ? $_REQUEST['company_name'] : null); 10 $dept_name = ($_REQUEST['dept_name'] ? $_REQUEST['dept_name'] : null); 11 12 // check permissions for this record 13 $perms = &$AppUI->acl(); 14 $canAuthor = $perms->checkModule('contacts', 'add'); 15 $canEdit = $perms->checkModuleItem('contacts', 'edit', $contact_id); 16 17 // check permissions 18 if (!$canAuthor && !$contact_id) { 19 $AppUI->redirect('m=public&a=access_denied'); 20 } 21 22 if (!$canEdit && $contact_id) { 23 $AppUI->redirect('m=public&a=access_denied'); 24 } 25 26 // load the record data 27 $msg = ''; 28 $row = new CContact(); 29 30 $canDelete = $row->canDelete($msg, $contact_id); 31 $is_user = $row->isUser($contact_id); 32 33 if ($msg == $AppUI->_('contactsDeleteUserError', UI_OUTPUT_JS)) { 34 $userDeleteProtect = true; 35 } 36 37 if (!$row->load($contact_id) && $contact_id > 0) { 38 $AppUI->setMsg('Contact'); 39 $AppUI->setMsg('invalidID', UI_MSG_ERROR, true); 40 $AppUI->redirect(); 41 } elseif ($row->contact_private && $row->contact_owner != $AppUI->user_id && $row->contact_owner && $contact_id != 0) { 42 // check only owner can edit 43 $AppUI->redirect('m=public&a=access_denied'); 44 } 45 46 $countries = array('' => $AppUI->_('(Select a Country)')) + w2PgetSysVal('GlobalCountries'); 47 48 $df = $AppUI->getPref('SHDATEFORMAT'); 49 $df .= ' ' . $AppUI->getPref('TIMEFORMAT'); 50 51 // setup the title block 52 $ttl = $contact_id > 0 ? 'Edit Contact' : 'Add Contact'; 53 $titleBlock = new CTitleBlock($ttl, 'monkeychat-48.png', $m, $m . '.' . $a); 54 $titleBlock->addCrumb('?m=contacts', 'contacts list'); 55 if ($canDelete && $contact_id) { 56 $titleBlock->addCrumbDelete('delete contact', $canDelete, $msg); 57 } 58 59 $titleBlock->show(); 60 $company_detail = $row->getCompanyDetails(); 61 $dept_detail = $row->getDepartmentDetails(); 62 if ($contact_id == 0 && $company_id > 0) { 63 $company_detail['company_id'] = $company_id; 64 $company_detail['company_name'] = $company_name; 65 $dept_detail['dept_id'] = $dept_id; 66 $dept_detail['dept_name'] = $dept_name; 67 } 68 69 ?> 70 71 <script language="javascript"> 72 <?php 73 echo 'window.company_id=' . ($company_detail['company_id'] ? $company_detail['company_id'] : 0) . ";\n"; 74 echo 'window.company_value=\'' . addslashes(($company_detail['company_name'] ? $company_detail['company_name'] : '')) . "';\n"; 75 ?> 76 77 function submitIt() { 78 var form = document.changecontact; 79 if (form.contact_last_name.value.length < 1) { 80 alert( '<?php echo $AppUI->_('contactsValidName', UI_OUTPUT_JS); ?>' ); 81 form.contact_last_name.focus(); 82 } else if (form.contact_order_by.value.length < 1) { 83 alert( '<?php echo $AppUI->_('contactsOrderBy', UI_OUTPUT_JS); ?>' ); 84 form.contact_order_by.focus(); 85 } else if (form.contact_email.value.length < 1 && form.contact_updateask.checked) { 86 alert( '<?php echo $AppUI->_('You must enter a valid email before using the contact update feature.', UI_OUTPUT_JS); ?>' ); 87 form.contact_email.focus(); 88 } else { 89 form.submit(); 90 } 91 } 92 93 function popDepartment() { 94 // window.open('./index.php?m=public&a=selector&dialog=1&callback=setDepartment&table=departments&hide_company=1&company_id=' + window.company_id, 'department','left=50,top=50,height=250,width=400,resizable'); 95 window.open('./index.php?m=contacts&a=select_contact_company&dialog=1&table_name=departments&company_id='+window.company_id, 'company', 'left=50,top=50,height=320,width=400,resizable'); 96 } 97 98 function setDepartment( key, val ){ 99 var f = document.changecontact; 100 if (val != '') { 101 f.contact_department.value = key; 102 f.contact_department_name.value = val; 103 } 104 } 105 106 function popCompany() { 107 // window.open('./index.php?m=public&a=selector&dialog=1&callback=setCompany&table=companies', 'company','left=50,top=50,height=250,width=400,resizable'); 108 window.open('./index.php?m=contacts&a=select_contact_company&dialog=1&table_name=companies&company_id=<?php echo $company_detail['company_id']; ?>', 'company', 'left=50,top=50,height=320,width=400,resizable'); 109 } 110 111 function setCompany( key, val ){ 112 var f = document.changecontact; 113 if (val != '') { 114 f.contact_company.value = key; 115 f.contact_company_name.value = val; 116 if ( window.company_id != key ){ 117 f.contact_department.value = ''; 118 f.contact_department_name.value = ''; 119 } 120 window.company_id = key; 121 window.company_value = val; 122 } 123 } 124 125 function delIt(){ 126 <?php 127 if ($userDeleteProtect) { 128 ?> 129 alert('<?php echo $AppUI->_('contactsDeleteUserError', UI_OUTPUT_JS); ?>'); 130 <?php 131 } else { 132 ?> 133 var form = document.changecontact; 134 if(confirm('<?php echo $AppUI->_('contactsDelete', UI_OUTPUT_JS); ?>')) { 135 form.del.value = '<?php echo $contact_id; ?>'; 136 form.submit(); 137 } 138 <?php 139 } 140 ?> 141 } 142 143 function orderByName( x ){ 144 var form = document.changecontact; 145 if (x == 'name') { 146 form.contact_order_by.value = form.contact_first_name.value + ' ' + form.contact_last_name.value; 147 } else { 148 form.contact_order_by.value = form.contact_company_name.value; 149 } 150 } 151 152 function companyChange() { 153 var f = document.changecontact; 154 if ( f.contact_company.value != window.company_value ){ 155 f.contact_department.value = ''; 156 } 157 } 158 159 function updateVerify() { 160 var form = document.changecontact; 161 if (form.contact_email.value.length < 1 && form.contact_updateask.checked) { 162 alert('<?php echo $AppUI->_('You must enter a valid email before using this feature.', UI_OUTPUT_JS); ?>'); 163 form.contact_updateask.checked = false; 164 form.contact_email.focus(); 165 } 166 } 167 168 </script> 169 170 <table border="0" cellpadding="4" cellspacing="0" width="100%" class="std"> 171 <tr> 172 <td colspan="2"> 173 <table border="0" cellpadding="1" cellspacing="1"> 174 <form name="changecontact" action="?m=contacts" method="post"> 175 <input type="hidden" name="dosql" value="do_contact_aed" /> 176 <input type="hidden" name="del" value="0" /> 177 <input type="hidden" name="contact_project" value="0" /> 178 <input type="hidden" name="contact_unique_update" value="<?php echo uniqid(''); ?>" /> 179 <input type="hidden" name="contact_id" value="<?php echo $contact_id; ?>" /> 180 <input type="hidden" name="contact_owner" value="<?php echo $row->contact_owner ? $row->contact_owner : $AppUI->user_id; ?>" /> 181 <tr> 182 <td align="right"><?php echo $AppUI->_('First Name'); ?>:</td> 183 <td> 184 <input type="text" class="text" size="25" name="contact_first_name" value="<?php echo $row->contact_first_name; ?>" maxlength="50" /> 185 </td> 186 </tr> 187 <tr> 188 <td align="right"> <?php echo $AppUI->_('Last Name'); ?>:</td> 189 <td> 190 <input type="text" class="text" size="25" name="contact_last_name" value="<?php echo $row->contact_last_name; ?>" maxlength="50" <?php if ($contact_id == 0) { ?> onBlur="orderByName('name')"<?php } ?> /> 191 <a href="javascript: void(0);" onclick="orderByName('name')">[<?php echo $AppUI->_('use in display'); ?>]</a> 192 </td> 193 </tr> 194 <tr> 195 <td align="right"><?php echo $AppUI->_('Display Name'); ?>: </td> 196 <td> 197 <input type="text" class="text" size="25" name="contact_order_by" value="<?php echo $row->contact_order_by; ?>" maxlength="50" /> 198 </td> 199 </tr> 200 <tr> 201 <td align="right"><label for="contact_private"><?php echo $AppUI->_('Private Entry'); ?>:</label> </td> 202 <td> 203 <input type="checkbox" value="1" name="contact_private" id="contact_private" <?php echo ($row->contact_private ? 'checked="checked"' : ''); ?> /> 204 </td> 205 </tr> 206 </table> 207 </td> 208 <td valign="top" align="right"> 209 <table border="0" cellpadding="1" cellspacing="1"> 210 <th colspan="2"> 211 <strong><?php echo $AppUI->_('Contact Update Info'); ?></strong> 212 </th> 213 <tr> 214 <td align="right" width="100" nowrap="nowrap"><?php echo $AppUI->_('Waiting Update'); ?>?:</td> 215 <td align="center"> 216 <input type="checkbox" value="1" name="contact_updateask" <?php echo $row->contact_updatekey ? 'checked="checked"' : ''; ?> onclick="updateVerify()"/> 217 </td> 218 </tr> 219 <tr> 220 <?php 221 $last_ask = new CDate($row->contact_updateasked); 222 ?> 223 <td align="right" nowrap="nowrap"><?php echo $AppUI->_('Last Update Requested'); ?>:</td> 224 <td align="center" nowrap="nowrap"><?php echo $row->contact_updateasked ? $last_ask->format($df) : ''; ?></td> 225 </tr> 226 <tr> 227 <?php 228 $lastupdated = new CDate($row->contact_lastupdate); 229 ?> 230 <td align="right" width="100" nowrap="nowrap"><?php echo $AppUI->_('Last Updated'); ?>:</td> 231 <td align="center" nowrap="nowrap"><?php echo ($row->contact_lastupdate && @!($row->contact_lastupdate == 0)) ? $lastupdated->format($df) : ''; ?></td> 232 </tr> 233 </table> 234 </td> 235 </tr> 236 <td valign="top" width="50%"> 237 <table border="0" cellpadding="1" cellspacing="1" class="details" width="100%"> 238 <tr> 239 <td align="right"><?php echo $AppUI->_('Job Title'); ?>:</td> 240 <td nowrap="nowrap"> 241 <input type="text" class="text" name="contact_job" value="<?php echo $row->contact_job; ?>" maxlength="100" size="25" /> 242 </td> 243 </tr> 244 <tr> 245 <td align="right"><?php echo $AppUI->_('Company'); ?>:</td> 246 <td nowrap="nowrap"> 247 <input type="text" class="text" name="contact_company_name" value="<?php echo $company_detail['company_name'];?>" maxlength="100" size="25" /> 248 <input type="button" class="button" value="<?php echo $AppUI->_('select company...'); ?>..." onclick="popCompany()" /> 249 <input type='hidden' name='contact_company' value="<?php echo $company_detail['company_id']; ?>" /> 250 <a href="javascript: void(0);" onclick="orderByName('company')">[<?php echo $AppUI->_('use in display'); ?>]</a> 251 </td> 252 </tr> 253 <tr> 254 <td align="right"><?php echo $AppUI->_('Department'); ?>:</td> 255 <td nowrap="nowrap"> 256 <input type="text" class="text" name="contact_department_name" value="<?php echo $dept_detail['dept_name']; ?>" maxlength="100" size="25" /> 257 258 <input type='hidden' name='contact_department' value='<?php echo $dept_detail['dept_id']; ?>' /> 259 <input type="button" class="button" value="<?php echo $AppUI->_('select department...'); ?>" onclick="popDepartment()" /> 260 </td> 261 </tr> 262 <tr> 263 <td align="right"><?php echo $AppUI->_('Title'); ?>:</td> 264 <td><input type="text" class="text" name="contact_title" value="<?php echo $row->contact_title; ?>" maxlength="50" size="25" /></td> 265 </tr> 266 <tr> 267 <td align="right"><?php echo $AppUI->_('Type'); ?>:</td> 268 <td><input type="text" class="text" name="contact_type" value="<?php echo $row->contact_type; ?>" maxlength="50" size="25" /></td> 269 </tr> 270 <tr> 271 <td align="right"><?php echo $AppUI->_('Address'); ?>1:</td> 272 <td><input type="text" class="text" name="contact_address1" value="<?php echo $row->contact_address1; ?>" maxlength="60" size="25" /></td> 273 </tr> 274 <tr> 275 <td align="right"><?php echo $AppUI->_('Address'); ?>2:</td> 276 <td><input type="text" class="text" name="contact_address2" value="<?php echo $row->contact_address2; ?>" maxlength="60" size="25" /></td> 277 </tr> 278 <tr> 279 <td align="right"><?php echo $AppUI->_('City'); ?>:</td> 280 <td><input type="text" class="text" name="contact_city" value="<?php echo $row->contact_city; ?>" maxlength="30" size="25" /></td> 281 </tr> 282 <tr> 283 <td align="right"><?php echo $AppUI->_('State'); ?>:</td> 284 <td><input type="text" class="text" name="contact_state" value="<?php echo $row->contact_state; ?>" maxlength="30" size="25" /></td> 285 </tr> 286 <tr> 287 <td align="right"><?php echo $AppUI->_('Postcode') . ' / ' . $AppUI->_('Zip'); ?>:</td> 288 <td><input type="text" class="text" name="contact_zip" value="<?php echo $row->contact_zip; ?>" maxlength="11" size="25" /></td> 289 </tr> 290 <tr> 291 <td align="right"><?php echo $AppUI->_('Country'); ?>:</td> 292 <td> 293 <?php 294 echo arraySelect($countries, 'contact_country', 'size="1" class="text"', $row->contact_country ? $row->contact_country : 0); 295 ?> 296 </td> 297 </tr> 298 <tr> 299 <td align="right"><?php echo $AppUI->_('Work Phone'); ?>:</td> 300 <td> 301 <input type="text" class="text" name="contact_phone" value="<?php echo $row->contact_phone; ?>" maxlength="30" size="25" /> 302 </td> 303 </tr> 304 <tr> 305 <td align="right"><?php echo $AppUI->_('Home Phone'); ?>:</td> 306 <td> 307 <input type="text" class="text" name="contact_phone2" value="<?php echo $row->contact_phone2; ?>" maxlength="30" size="25" /> 308 </td> 309 </tr> 310 <tr> 311 <td align="right"><?php echo $AppUI->_('Fax'); ?>:</td> 312 <td> 313 <input type="text" class="text" name="contact_fax" value="<?php echo $row->contact_fax; ?>" maxlength="30" size="25" /> 314 </td> 315 </tr> 316 <tr> 317 <td align="right"><?php echo $AppUI->_('Mobile Phone'); ?>:</td> 318 <td> 319 <input type="text" class="text" name="contact_mobile" value="<?php echo $row->contact_mobile; ?>" maxlength="30" size="25" /> 320 </td> 321 </tr> 322 <tr> 323 <td align="right"><?php echo $AppUI->_('Email'); ?>:</td> 324 <td nowrap="nowrap"> 325 <input type="text" class="text" name="contact_email" value="<?php echo $row->contact_email; ?>" maxlength="255" size="25" /> 326 </td> 327 </tr> 328 <tr> 329 <td align="right"><?php echo $AppUI->_('Email'); ?>2:</td> 330 <td> 331 <input type="text" class="text" name="contact_email2" value="<?php echo $row->contact_email2; ?>" maxlength="255" size="25" /> 332 </td> 333 </tr> 334 <tr> 335 <td align="right"><?php echo $AppUI->_('Homepage'); ?>:</td> 336 <td> 337 <input type="text" class="text" name="contact_url" value="<?php echo $row->contact_url; ?>" maxlength="255" size="25" /> 338 </td> 339 </tr> 340 <tr> 341 <td align="right">Jabber:</td> 342 <td> 343 <input type="text" class="text" name="contact_jabber" value="<?php echo $row->contact_jabber; ?>" maxlength="255" size="25" /> 344 </td> 345 </tr> 346 <tr> 347 <td align="right">ICQ:</td> 348 <td> 349 <input type="text" class="text" name="contact_icq" value="<?php echo $row->contact_icq; ?>" maxlength="20" size="25" /> 350 </td> 351 </tr> 352 <tr> 353 <td align="right">AOL:</td> 354 <td> 355 <input type="text" class="text" name="contact_aol" value="<?php echo $row->contact_aol; ?>" maxlength="20" size="25" /> 356 </td> 357 </tr> 358 <tr> 359 <td align="right">MSN:</td> 360 <td> 361 <input type="text" class="text" name="contact_msn" value="<?php echo $row->contact_msn; ?>" maxlength="255" size="25" /> 362 </td> 363 </tr> 364 <tr> 365 <td align="right">Yahoo:</td> 366 <td> 367 <input type="text" class="text" name="contact_yahoo" value="<?php echo $row->contact_yahoo; ?>" maxlength="255" size="25" /> 368 </td> 369 </tr> 370 <tr> 371 <td align="right">Skype:</td> 372 <td> 373 <input type="text" class="text" name="contact_skype" value="<?php echo $row->contact_skype; ?>" maxlength="100" size="25" /> 374 </td> 375 </tr> 376 <tr> 377 <td align="right">Google:</td> 378 <td> 379 <input type="text" class="text" name="contact_google" value="<?php echo $row->contact_google; ?>" maxlength="100" size="25" /> 380 </td> 381 </tr> 382 </tr> 383 <tr> 384 <td align="right"><?php echo $AppUI->_('Birthday'); ?>:</td> 385 <td nowrap="nowrap"> 386 <input type="text" class="text" name="contact_birthday" value="<?php echo @substr($row->contact_birthday, 0, 10); ?>" maxlength="10" size="25" />(<?php echo $AppUI->_('yyyy-mm-dd'); ?>) 387 </td> 388 </tr> 389 390 <th colspan="2"> 391 <strong><?php echo $AppUI->_('Contacts Custom Fields'); ?></strong> 392 </th> 393 <tr> 394 <td align="right" colspan="3"> 395 <?php 396 require_once ($AppUI->getSystemClass('CustomFields')); 397 $custom_fields = new CustomFields($m, $a, $row->contact_id, "edit"); 398 $custom_fields->printHTML(); 399 ?> 400 </td> 401 </tr> 402 403 </table> 404 </td> 405 <td valign="top" width="50%"> 406 <strong><?php echo $AppUI->_('Contact Notes'); ?></strong><br /> 407 <textarea class="textarea" name="contact_notes" rows="20" cols="40"><?php echo $row->contact_notes; ?></textarea></td> 408 </td> 409 </tr> 410 <tr> 411 <td> 412 <input type="button" value="<?php echo $AppUI->_('back'); ?>" class="button" onclick="javascript:window.location='./index.php?m=contacts';" /> 413 </td> 414 <td colspan="2" align="right"> 415 <input type="button" value="<?php echo $AppUI->_('submit'); ?>" class="button" onclick="submitIt()" /> 416 </td> 417 </tr> 418 </form> 419 </table>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Wed Jan 7 03:00:01 2009 | Cross-referenced by PHPXref 0.7 |