thomascube
2010-03-02 7c9d922b96f9a88b350d6e07f5bde84ccc40f9b0
program/steps/addressbook/edit.inc
@@ -33,18 +33,17 @@
function rcmail_contact_editform($attrib)
{
  global $CONTACTS, $OUTPUT;
  global $RCMAIL, $CONTACTS, $OUTPUT;
  // check if we have a valid result
  if ($GLOBALS['_action'] != 'add' && !(($result = $CONTACTS->get_result()) && ($record = $result->first())))
  if ($RCMAIL->action != 'add' && !(($result = $CONTACTS->get_result()) && ($record = $result->first())))
  {
    $OUTPUT->show_message('contactnotfound');
    return false;
  }
  // add some labels to client
  rcube_add_label('noemailwarning');
  rcube_add_label('nonamewarning');
  $OUTPUT->add_label('noemailwarning', 'nonamewarning');
  list($form_start, $form_end) = get_form_tags($attrib);
  unset($attrib['form']);
@@ -82,40 +81,32 @@
// similar function as in /steps/settings/edit_identity.inc
function get_form_tags($attrib)
  {
  global $CONTACTS, $OUTPUT, $EDIT_FORM, $SESS_HIDDEN_FIELD;
{
  global $CONTACTS, $EDIT_FORM, $RCMAIL;
  $result = $CONTACTS->get_result();
  $form_start = '';
  if (!strlen($EDIT_FORM))
    {
    $hiddenfields = new html_hiddenfield(array('name' => '_task', 'value' => $GLOBALS['_task']));
    $hiddenfields->add(array('name' => '_action', 'value' => 'save', 'source' => get_input_value('_source', RCUBE_INPUT_GPC)));
  $form_start = $form_end = '';
  if (empty($EDIT_FORM)) {
    $hiddenfields = new html_hiddenfield(array('name' => '_source', 'value' => get_input_value('_source', RCUBE_INPUT_GPC)));
    
    if (($result = $CONTACTS->get_result()) && ($record = $result->first()))
      $hiddenfields->add(array('name' => '_cid', 'value' => $record['ID']));
    
    $form_start = !strlen($attrib['form']) ? '<form name="form" action="./" method="post">' : '';
    $form_start .= "\n$SESS_HIDDEN_FIELD\n";
    $form_start .= $hiddenfields->show();
    }
  $form_end = (strlen($EDIT_FORM) && !strlen($attrib['form'])) ? '</form>' : '';
  $form_name = strlen($attrib['form']) ? $attrib['form'] : 'form';
  if (!strlen($EDIT_FORM))
    $OUTPUT->add_gui_object('editform', $form_name);
  $EDIT_FORM = $form_name;
    $form_start = $RCMAIL->output->request_form(array('name' => "form", 'method' => "post", 'task' => $RCMAIL->task, 'action' => 'save', 'request' => 'save.'.intval($record['ID']), 'noclose' => true) + $attrib, $hiddenfields->show());
    $form_end = !strlen($attrib['form']) ? '</form>' : '';
  return array($form_start, $form_end);
    $EDIT_FORM = !empty($attrib['form']) ? $attrib['form'] : 'form';
    $RCMAIL->output->add_gui_object('editform', $EDIT_FORM);
  }
  return array($form_start, $form_end);
}
if (!$CONTACTS->get_result() && template_exists('addcontact'))
if (!$CONTACTS->get_result() && $OUTPUT->template_exists('addcontact'))
  $OUTPUT->send('addcontact');
// this will be executed if no template for addcontact exists
$OUTPUT->send('editcontact');
?>
?>