time zone configuration options.
[squirrelmail.git] / src / addressbook.php
index de712e846d9665d98e4a0a612ac4c0dce4b2584c..a0737ee89b57ffbaf9270e7dc020862a2794a2e9 100644 (file)
@@ -61,7 +61,6 @@ if($abook->localbackend == 0) {
     exit();
 }
 
-
 $defdata   = array();
 $formerror = '';
 $abortform = false;
@@ -148,7 +147,6 @@ if(sqgetGlobalVar('REQUEST_METHOD', $req_method, SQ_SERVER) && $req_method == 'P
              * Update/modify address                       *
              ***********************************************/
             if (!empty($editaddr)) {
-
                 /* Stage one: Copy data into form */
                 if (isset($sel) && sizeof($sel) > 0) {
                     if(sizeof($sel) > 1) {
@@ -159,6 +157,7 @@ if(sqgetGlobalVar('REQUEST_METHOD', $req_method, SQ_SERVER) && $req_method == 'P
                         $abortform = true;
                         list($ebackend, $enick) = explode(':', $sel[0]);
                         $olddata = $abook->lookup($enick, $ebackend);
+                        // FIXME: Test if $olddata really contains anything and return an error message if it doesn't
 
                         /* Display the "new address" form */
                         abook_create_form($form_url,'editaddr',_("Update address"),_("Update address"),$olddata);
@@ -167,40 +166,40 @@ if(sqgetGlobalVar('REQUEST_METHOD', $req_method, SQ_SERVER) && $req_method == 'P
                             addHidden('doedit', '1').
                             '</form>';
                     }
-                } else {
-
+                } elseif ($doedit == 1) {
                     /* Stage two: Write new data */
-                    if ($doedit = 1) {
-                        $newdata = $editaddr;
-                        $r = $abook->modify($oldnick, $newdata, $backend);
-
-                        /* Handle error messages */
-                        if (!$r) {
-                            /* Display error */
-                            echo html_tag( 'table',
-                                    html_tag( 'tr',
-                                        html_tag( 'td',
-                                            "\n". '<strong><font color="' . $color[2] .
-                                            '">' . _("ERROR") . ': ' . $abook->error . '</font></strong>' ."\n",
-                                            'center' )
-                                        ),
-                                    'center', '', 'width="100%"' );
-
-                            /* Display the "new address" form again */
-                            abook_create_form($form_url,'editaddr',_("Update address"),_("Update address"),$newdata);
-                            echo addHidden('oldnick', $oldnick).
-                                addHidden('backend', $backend).
-                                addHidden('doedit',  '1').
-                                "\n" . '</form>';
-                            $abortform = true;
-                        }
-                    } else {
+                    $newdata = $editaddr;
+                    $r = $abook->modify($oldnick, $newdata, $backend);
 
-                        /* Should not get here... */
-                        plain_error_message(_("Unknown error"), $color);
+                    /* Handle error messages */
+                    if (!$r) {
+                        /* Display error */
+                        echo html_tag( 'table',
+                                html_tag( 'tr',
+                                    html_tag( 'td',
+                                        "\n". '<strong><font color="' . $color[2] .
+                                        '">' . _("ERROR") . ': ' . $abook->error . '</font></strong>' ."\n",
+                                        'center' )
+                                    ),
+                                'center', '', 'width="100%"' );
+
+                        /* Display the "new address" form again */
+                        abook_create_form($form_url,'editaddr',_("Update address"),_("Update address"),$newdata);
+                        echo addHidden('oldnick', $oldnick).
+                            addHidden('backend', $backend).
+                            addHidden('doedit',  '1').
+                            "\n" . '</form>';
                         $abortform = true;
                     }
-                }
+                } else {
+                    /**
+                     * $editaddr is set, but $sel (address selection in address listing)
+                     * and $doedit (address edit form) are not set.
+                     * Assume that user clicked on "Edit address" without selecting any address.
+                     */
+                    $formerror = _("Please select address that you want to edit");
+                    $showaddrlist = true;
+                } /* end of edit stage detection */
             } /* !empty($editaddr)                  - Update/modify address */
         } /* (!empty($deladdr)) && sizeof($sel) > 0 - Delete address(es) */
     } /* !empty($addaddr['nickname'])               - Add new address */
@@ -292,7 +291,7 @@ if ($showaddrlist) {
                 }
 
                 // Print backend name
-                echo  html_tag( 'tr',
+                echo html_tag( 'tr',
                         html_tag( 'td', "\n" . '<strong>' . $row['source'] . '</strong>' . "\n", 'center', $color[0] ,'colspan="5"' )
                         );
 
@@ -380,5 +379,6 @@ echo "</form>\n";
 echo "<!-- start of addressbook_bottom hook-->\n";
 do_hook('addressbook_bottom');
 echo "\n<!-- end of addressbook_bottom hook-->\n";
+
 ?>
 </body></html>
\ No newline at end of file