[ Index ]

Source Code Reference for V1.00

title

Body

[close]

/modules/contacts/ -> addedit.php (source)

   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">&nbsp;&nbsp;<?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>


Generated: Wed Jan 7 03:00:01 2009 Cross-referenced by PHPXref 0.7