diff -ruw roundcubemail_svn/config/main.inc.php roundcubemail/config/main.inc.php
|
old
|
new
|
|
| 384 | 384 | 'email_field' => 'mail', // this field represents the contact's e-mail |
| 385 | 385 | 'surname_field' => 'sn', // this field represents the contact's last name |
| 386 | 386 | 'firstname_field' => 'gn', // this field represents the contact's first name |
| | 387 | 'work_number_field' => '', // contact work phone number |
| | 388 | 'home_number_field' => '', // contact home phone number |
| | 389 | 'fax_number_field' => '', // contact fax number |
| | 390 | 'mobile_number_field' => '', // contact cell number |
| | 391 | 'title_field' => '', // contact company title |
| | 392 | 'company_field' => '', // contact company name |
| | 393 | 'work_address_field' => '', // contact work address |
| | 394 | 'home_address_field' => '', // contact home address |
| | 395 | 'note_field' => '', // contact notes |
| 387 | 396 | 'sort' => 'cn', // The field to sort the listing by. |
| 388 | 397 | 'scope' => 'sub', // search mode: sub|base|list |
| 389 | 398 | 'filter' => '', // used for basic listing (if not empty) and will be &'d with search queries. example: status=act |
Only in roundcubemail/config: main.inc.php.orig
diff -ruw roundcubemail_svn/program/include/rcube_contacts.php roundcubemail/program/include/rcube_contacts.php
|
old
|
new
|
|
| 37 | 37 | private $search_fields; |
| 38 | 38 | private $search_string; |
| 39 | 39 | private $cache; |
| 40 | | private $table_cols = array('name', 'email', 'firstname', 'surname', 'vcard'); |
| | 40 | private $table_cols = array('name', 'email', 'firstname', 'surname', 'work_number', 'home_number', 'fax_number', 'mobile_number', 'title', 'company', 'work_address', 'home_address', 'note', 'vcard'); |
| 41 | 41 | |
| 42 | 42 | /** public properties */ |
| 43 | 43 | var $primary_key = 'contact_id'; |
Only in roundcubemail/program/include: rcube_contacts.php.orig
diff -ruw roundcubemail_svn/program/include/rcube_vcard.php roundcubemail/program/include/rcube_vcard.php
|
old
|
new
|
|
| 75 | 75 | $this->nickname = $this->raw['NICKNAME'][0][0]; |
| 76 | 76 | $this->organization = $this->raw['ORG'][0][0]; |
| 77 | 77 | $this->business = ($this->raw['X-ABSHOWAS'][0][0] == 'COMPANY') || (join('', (array)$this->raw['N'][0]) == '' && !empty($this->organization)); |
| | 78 | $this->title = $this->raw['TITLE'][0]; |
| | 79 | $this->note = $this->raw['NOTE'][0]; |
| | 80 | foreach ($this->raw['LABEL'] as $entry) { |
| | 81 | if ($entry['type'][0] == "HOME"){ |
| | 82 | $this->home_address = $entry[0]; |
| | 83 | } |
| | 84 | elseif ($entry['type'][0] == "WORK") { |
| | 85 | $this->work_address = $entry[0]; |
| | 86 | } |
| | 87 | } |
| | 88 | foreach ($this->raw['TEL'] as $entry) { |
| | 89 | if ($entry['type'][0] == "HOME"){ |
| | 90 | $this->home_number = $entry[0]; |
| | 91 | } |
| | 92 | elseif ($entry['type'][0] == "WORK") { |
| | 93 | $this->work_number = $entry[0]; |
| | 94 | } |
| | 95 | elseif ($entry['type'][0] == "CELL") { |
| | 96 | $this->mobile_number = $entry[0]; |
| | 97 | } |
| | 98 | elseif ($entry['type'][0] == "FAX") { |
| | 99 | $this->fax_number = $entry[0]; |
| | 100 | } |
| | 101 | } |
| 78 | 102 | |
| 79 | 103 | foreach ((array)$this->raw['EMAIL'] as $i => $raw_email) |
| 80 | 104 | $this->email[$i] = is_array($raw_email) ? $raw_email[0] : $raw_email; |
| … |
… |
|
| 138 | 162 | $this->raw['EMAIL'][$index][0] = $value; |
| 139 | 163 | } |
| 140 | 164 | break; |
| | 165 | |
| | 166 | case 'home_number': |
| | 167 | $index=$this->get_type_index('TEL','HOME'); |
| | 168 | if (!is_array($this->raw['TEL'][$index])) { |
| | 169 | $this->raw['TEL'][$index] = array(0 => $value, 'type' => 'HOME'); |
| | 170 | } |
| | 171 | else { |
| | 172 | $this->raw['TEL'][0][0] = $value; |
| | 173 | } |
| | 174 | break; |
| | 175 | |
| | 176 | case 'work_number': |
| | 177 | $index=$this->get_type_index('TEL','WORK'); |
| | 178 | if (!is_array($this->raw['TEL'][$index])) { |
| | 179 | $this->raw['TEL'][$index] = array(0 => $value, 'type' => 'WORK'); |
| | 180 | } |
| | 181 | else { |
| | 182 | $this->raw['TEL'][0][0] = $value; |
| | 183 | } |
| | 184 | break; |
| | 185 | |
| | 186 | case 'mobile_number': |
| | 187 | $index=$this->get_type_index('TEL','CELL'); |
| | 188 | if (!is_array($this->raw['TEL'][$index])) { |
| | 189 | $this->raw['TEL'][$index] = array(0 => $value, 'type' => 'CELL'); |
| | 190 | } |
| | 191 | else { |
| | 192 | $this->raw['TEL'][0][0] = $value; |
| | 193 | } |
| | 194 | break; |
| | 195 | |
| | 196 | case 'fax_number': |
| | 197 | $index=$this->get_type_index('TEL','FAX'); |
| | 198 | if (!is_array($this->raw['TEL'][$index])) { |
| | 199 | $this->raw['TEL'][$index] = array(0 => $value, 'type' => 'FAX'); |
| | 200 | } |
| | 201 | else { |
| | 202 | $this->raw['TEL'][0][0] = $value; |
| | 203 | } |
| | 204 | break; |
| | 205 | |
| 141 | 206 | } |
| 142 | 207 | } |
| 143 | 208 | |
diff -ruw roundcubemail_svn/program/localization/en_US/labels.inc roundcubemail/program/localization/en_US/labels.inc
|
old
|
new
|
|
| 242 | 242 | $labels['firstname'] = 'First name'; |
| 243 | 243 | $labels['surname'] = 'Last name'; |
| 244 | 244 | $labels['email'] = 'E-Mail'; |
| | 245 | $labels['phone'] = 'Phone'; |
| | 246 | $labels['work_number'] = 'Work Number'; |
| | 247 | $labels['home_number'] = 'Home Number'; |
| | 248 | $labels['fax_number'] = 'Fax Number'; |
| | 249 | $labels['mobile_number'] = 'Mobile Number'; |
| | 250 | $labels['title'] = 'Title'; |
| | 251 | $labels['company'] = 'Company'; |
| | 252 | $labels['work_address'] = 'Work Address'; |
| | 253 | $labels['home_address'] = 'Home Address'; |
| | 254 | $labels['note'] = 'Note'; |
| 245 | 255 | |
| 246 | 256 | $labels['addcontact'] = 'Add new contact'; |
| 247 | 257 | $labels['editcontact'] = 'Edit contact'; |
diff -ruw roundcubemail_svn/program/steps/addressbook/edit.inc roundcubemail/program/steps/addressbook/edit.inc
|
old
|
new
|
|
| 60 | 60 | // return the complete address edit form as table |
| 61 | 61 | $out = "$form_start<table>\n\n"; |
| 62 | 62 | |
| 63 | | $a_show_cols = array('name', 'firstname', 'surname', 'email'); |
| | 63 | $a_show_cols = array('name', 'firstname', 'surname', 'email', 'work_number', 'home_number', 'fax_number', 'mobile_number', 'title', 'company', 'work_address', 'home_address', 'note'); |
| | 64 | $textarea_cols = array('work_address' => 1, 'home_address' => 1, 'note' => 1); |
| | 65 | |
| 64 | 66 | foreach ($a_show_cols as $col) |
| 65 | 67 | { |
| 66 | 68 | $attrib['id'] = 'rcmfd_'.$col; |
| | 69 | if (array_key_exists($col, $textarea_cols)) { |
| | 70 | $value = rcmail_get_edit_field($col, $record[$col], $attrib,'textarea'); |
| | 71 | } |
| | 72 | else { |
| 67 | 73 | $value = rcmail_get_edit_field($col, $record[$col], $attrib); |
| | 74 | } |
| 68 | 75 | $out .= sprintf("<tr><td class=\"title\"><label for=\"%s\">%s</label></td><td>%s</td></tr>\n", |
| 69 | 76 | $attrib['id'], |
| 70 | 77 | Q(rcube_label($col)), |
diff -ruw roundcubemail_svn/program/steps/addressbook/export.inc roundcubemail/program/steps/addressbook/export.inc
|
old
|
new
|
|
| 35 | 35 | $vcard->set('firstname', $row['firstname']); |
| 36 | 36 | $vcard->set('surname', $row['surname']); |
| 37 | 37 | $vcard->set('email', $row['email']); |
| | 38 | $vcard->set('title', $row['title']); |
| | 39 | $vcard->set('company', $row['company']); |
| | 40 | $vcard->set('work_number', $row['work_number']); |
| | 41 | $vcard->set('home_number', $row['home_number']); |
| | 42 | $vcard->set('mobile_number', $row['mobile_number']); |
| | 43 | $vcard->set('fax_number', $row['fax_number']); |
| | 44 | $vcard->set('work_address', $row['work_address']); |
| | 45 | $vcard->set('home_address', $row['home_address']); |
| | 46 | $vcard->set('note', $row['note']); |
| 38 | 47 | |
| 39 | 48 | echo $vcard->export(); |
| 40 | 49 | } |
diff -ruw roundcubemail_svn/program/steps/addressbook/import.inc roundcubemail/program/steps/addressbook/import.inc
|
old
|
new
|
|
| 152 | 152 | 'firstname' => $vcard->firstname, |
| 153 | 153 | 'surname' => $vcard->surname, |
| 154 | 154 | 'email' => $email, |
| | 155 | 'work_number' => $vcard->work_number, |
| | 156 | 'home_number' => $vcard->home_number, |
| | 157 | 'mobile_number' => $vcard->mobile_number, |
| | 158 | 'fax_number' => $vcard->fax_number, |
| | 159 | 'title' => $vcard->title, |
| | 160 | 'company' => $vcard->organization, |
| | 161 | 'work_address' => $vcard->work_address, |
| | 162 | 'home_address' => $vcard->home_address, |
| | 163 | 'note' => $vcard->note, |
| 155 | 164 | 'vcard' => $vcard->export(), |
| 156 | 165 | ); |
| 157 | 166 | |
diff -ruw roundcubemail_svn/program/steps/addressbook/save.inc roundcubemail/program/steps/addressbook/save.inc
|
old
|
new
|
|
| 40 | 40 | |
| 41 | 41 | |
| 42 | 42 | // setup some vars we need |
| 43 | | $a_save_cols = array('name', 'firstname', 'surname', 'email'); |
| | 43 | $a_save_cols = array('name', 'firstname', 'surname', 'email', 'work_number', 'home_number', 'fax_number', 'mobile_number', 'title', 'company', 'work_address', 'home_address', 'note'); |
| 44 | 44 | $a_record = array(); |
| 45 | 45 | |
| 46 | 46 | // read POST values into hash array |
diff -ruw roundcubemail_svn/program/steps/addressbook/show.inc roundcubemail/program/steps/addressbook/show.inc
|
old
|
new
|
|
| 43 | 43 | // return the complete address record as table |
| 44 | 44 | $table = new html_table(array('cols' => 2)); |
| 45 | 45 | |
| 46 | | $a_show_cols = array('name', 'firstname', 'surname', 'email'); |
| 47 | | $microformats = array('name' => 'fn', 'email' => 'email'); |
| | 46 | $a_show_cols = array('name', 'firstname', 'surname', 'email', 'work_number', 'home_number', 'fax_number', 'mobile_number', 'title', 'company', 'work_address', 'home_address', 'note'); |
| | 47 | $microformats = array( |
| | 48 | 'name' => 'fn', |
| | 49 | 'email' => 'email', |
| | 50 | 'work_number' => 'tel', |
| | 51 | 'home_number' => 'tel', |
| | 52 | 'fax_number' => 'tel', |
| | 53 | 'mobile_number' => 'tel', |
| | 54 | 'tile' => 'title', |
| | 55 | 'company' => 'organization-name', |
| | 56 | 'work_address' => 'label', |
| | 57 | 'home_address' => 'label', |
| | 58 | 'note' => 'note', |
| | 59 | ); |
| 48 | 60 | |
| 49 | 61 | foreach ($a_show_cols as $col) { |
| 50 | 62 | if ($col == 'email' && !empty($record[$col])) { |
diff -ruw roundcubemail_svn/SQL/mysql.initial.sql roundcubemail/SQL/mysql.initial.sql
|
old
|
new
|
|
| 86 | 86 | `email` varchar(128) NOT NULL, |
| 87 | 87 | `firstname` varchar(128) NOT NULL DEFAULT '', |
| 88 | 88 | `surname` varchar(128) NOT NULL DEFAULT '', |
| | 89 | `work_number` varchar(50) NOT NULL, |
| | 90 | `home_number` varchar(50) NOT NULL, |
| | 91 | `fax_number` varchar(50) NOT NULL, |
| | 92 | `mobile_number` varchar(50) NOT NULL, |
| | 93 | `title` varchar(50) NOT NULL, |
| | 94 | `company` varchar(128) NOT NULL, |
| | 95 | `work_address` varchar(255) NOT NULL, |
| | 96 | `home_address` varchar(255) NOT NULL, |
| | 97 | `note` text NULL, |
| 89 | 98 | `vcard` text NULL, |
| 90 | 99 | `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0', |
| 91 | 100 | PRIMARY KEY(`contact_id`), |
diff -ruw roundcubemail_svn/SQL/mysql.update.sql roundcubemail/SQL/mysql.update.sql
|
old
|
new
|
|
| 113 | 113 | |
| 114 | 114 | ALTER TABLE `users` CHANGE `last_login` `last_login` datetime DEFAULT NULL; |
| 115 | 115 | UPDATE `users` SET `last_login` = NULL WHERE `last_login` = '1000-01-01 00:00:00'; |
| | 116 | |
| | 117 | ALTER TABLE `contacts` |
| | 118 | ADD `work_number` varchar(50) NOT NULL DEFAULT '', |
| | 119 | ADD `home_number` varchar(50) NOT NULL DEFAULT '', |
| | 120 | ADD `fax_number` varchar(50) NOT NULL DEFAULT '', |
| | 121 | ADD `mobile_number` varchar(50) NOT NULL DEFAULT '', |
| | 122 | ADD `title` varchar(50) NOT NULL DEFAULT '', |
| | 123 | ADD `company` varchar(128) NOT NULL DEFAULT '', |
| | 124 | ADD `work_address` varchar(255) NOT NULL DEFAULT '', |
| | 125 | ADD `home_address` varchar(255) NOT NULL DEFAULT '', |
| | 126 | ADD `note` text NOT NULL DEFAULT ''; |
| | 127 | No newline at end of file |
Only in roundcubemail/SQL: mysql.update.sql.orig
diff -ruw roundcubemail_svn/SQL/postgres.initial.sql roundcubemail/SQL/postgres.initial.sql
|
old
|
new
|
|
| 110 | 110 | email varchar(128) DEFAULT '' NOT NULL, |
| 111 | 111 | firstname varchar(128) DEFAULT '' NOT NULL, |
| 112 | 112 | surname varchar(128) DEFAULT '' NOT NULL, |
| | 113 | work_number character varying(50) DEFAULT ''::character varying NOT NULL, |
| | 114 | home_number character varying(50) DEFAULT ''::character varying NOT NULL, |
| | 115 | fax_number character varying(50) DEFAULT ''::character varying NOT NULL, |
| | 116 | mobile_number character varying(50) DEFAULT ''::character varying NOT NULL, |
| | 117 | title character varying(50) DEFAULT ''::character varying NOT NULL, |
| | 118 | company character varying(128) DEFAULT ''::character varying NOT NULL, |
| | 119 | work_address character varying(255) DEFAULT ''::character varying NOT NULL, |
| | 120 | home_address character varying(255) DEFAULT ''::character varying NOT NULL, |
| | 121 | note text DEFAULT ''::character varying NOT NULL, |
| 113 | 122 | vcard text |
| 114 | 123 | ); |
| 115 | 124 | |
diff -ruw roundcubemail_svn/SQL/postgres.update.sql roundcubemail/SQL/postgres.update.sql
|
old
|
new
|
|
| 81 | 81 | |
| 82 | 82 | ALTER TABLE users ALTER last_login DROP NOT NULL; |
| 83 | 83 | ALTER TABLE users ALTER last_login SET DEFAULT NULL; |
| | 84 | |
| | 85 | ALTER TABLE contacts ADD work_number character varying(50) DEFAULT ''::character varying NOT NULL; |
| | 86 | ALTER TABLE contacts ADD home_number character varying(50) DEFAULT ''::character varying NOT NULL; |
| | 87 | ALTER TABLE contacts ADD fax_number character varying(50) DEFAULT ''::character varying NOT NULL; |
| | 88 | ALTER TABLE contacts ADD mobile_number character varying(50) DEFAULT ''::character varying NOT NULL; |
| | 89 | ALTER TABLE contacts ADD title character varying(50) DEFAULT ''::character varying NOT NULL; |
| | 90 | ALTER TABLE contacts ADD company character varying(128) DEFAULT ''::character varying NOT NULL; |
| | 91 | ALTER TABLE contacts ADD work_address character varying(255) DEFAULT ''::character varying NOT NULL; |
| | 92 | ALTER TABLE contacts ADD home_address character varying(255) DEFAULT ''::character varying NOT NULL; |
| | 93 | ALTER TABLE contacts ADD note text DEFAULT ''::character varying NOT NULL; |
| | 94 | No newline at end of file |
Only in roundcubemail/SQL: postgres.update.sql.orig
diff -ruw roundcubemail_svn/SQL/sqlite.initial.sql roundcubemail/SQL/sqlite.initial.sql
|
old
|
new
|
|
| 31 | 31 | email varchar(128) NOT NULL default '', |
| 32 | 32 | firstname varchar(128) NOT NULL default '', |
| 33 | 33 | surname varchar(128) NOT NULL default '', |
| | 34 | work_number varchar(50) NOT NULL default '', |
| | 35 | home_number varchar(50) NOT NULL default '', |
| | 36 | mobile_number varchar(50) NOT NULL default '', |
| | 37 | fax_number varchar(50) NOT NULL default '', |
| | 38 | title varchar(50) NOT NULL default '', |
| | 39 | company varchar(128) NOT NULL default '', |
| | 40 | work_address varchar(255) NOT NULL default '', |
| | 41 | home_address varchar(255) NOT NULL default '', |
| | 42 | note text NOT NULL default '', |
| 34 | 43 | vcard text NOT NULL default '' |
| 35 | 44 | ); |
| 36 | 45 | |
diff -ruw roundcubemail_svn/SQL/sqlite.update.sql roundcubemail/SQL/sqlite.update.sql
|
old
|
new
|
|
| 142 | 142 | CREATE INDEX ix_users_username ON users(username); |
| 143 | 143 | CREATE INDEX ix_users_alias ON users(alias); |
| 144 | 144 | DROP TABLE tmp_users; |
| | 145 | |
| | 146 | -- Updates from version 0.4-beta |
| | 147 | |
| | 148 | ALTER TABLE contacts ADD work_number varchar(50) DEFAULT '' NOT NULL; |
| | 149 | ALTER TABLE contacts ADD home_number varchar(50) DEFAULT '' NOT NULL; |
| | 150 | ALTER TABLE contacts ADD fax_number varchar(50) DEFAULT '' NOT NULL; |
| | 151 | ALTER TABLE contacts ADD mobile_number varchar(50) DEFAULT '' NOT NULL; |
| | 152 | ALTER TABLE contacts ADD title varchar(50) DEFAULT '' NOT NULL; |
| | 153 | ALTER TABLE contacts ADD company varchar(128) DEFAULT '' NOT NULL; |
| | 154 | ALTER TABLE contacts ADD work_address varchar(255) DEFAULT '' NOT NULL; |
| | 155 | ALTER TABLE contacts ADD home_address varchar(255) DEFAULT '' NOT NULL; |
| | 156 | ALTER TABLE contacts ADD note text DEFAULT '' NOT NULL; |