Mercurial > hg > rc1
comparison plugins/thunderbird_labels/thunderbird_labels.php @ 29:ea061c743982
localise title and label exactly once each :-)
author | Charlie Root |
---|---|
date | Sun, 28 Jan 2018 13:44:10 -0500 |
parents | e097905863b9 |
children | b2d0a9781472 |
comparison
equal
deleted
inserted
replaced
28:538b3d58eb89 | 29:ea061c743982 |
---|---|
62 # ends up with display: none??? | 62 # ends up with display: none??? |
63 # Bother, missed it, it's before this.container.show | 63 # Bother, missed it, it's before this.container.show |
64 # Afeter ul.appendnd -- inside menu.show on 307 | 64 # Afeter ul.appendnd -- inside menu.show on 307 |
65 # 567? Yes -- that's calling 'hide', but overriding | 65 # 567? Yes -- that's calling 'hide', but overriding |
66 # doesn't fix :-( | 66 # doesn't fix :-( |
67 rcube::write_log('lab','add_button'); | 67 #rcube::write_log('lab','add_button'); |
68 $this->add_button( | 68 $this->add_button( |
69 array( | 69 array( |
70 #'command' => 'plugin.thunderbird_labels.rcm_tb_label_submenu', | 70 #'command' => 'plugin.thunderbird_labels.rcm_tb_label_submenu', |
71 'name' => 'tblabellink', | 71 'name' => 'tblabellink', |
72 'id' => 'tblabelpopuplink', | 72 'id' => 'tblabelpopuplink', |
73 #'domain' => $this->ID, | 73 'domain' => $this->ID, |
74 'type' => 'link', | 74 'type' => 'link', |
75 'class' => 'button tblabel', | 75 'class' => 'button tblabel', |
76 'label' => $this->gettext('tb_label_button_label'), | 76 'label' => 'tb_label_button_label', |
77 'title' => 'tb_label_button_title', | 77 'title' => 'tb_label_button_title', |
78 'onclick' => "UI.toggle_popup('tblabelpopup',event);return false", | 78 'onclick' => "UI.toggle_popup('tblabelpopup',event);return false", |
79 'aria-haspopup' => true, | 79 'aria-haspopup' => true, |
80 'aria-expanded' => false, | 80 'aria-expanded' => false, |
81 'aria-owns' => 'plugin.thunderbird_labels.rcm_tb_label_submenu-menu' | 81 'aria-owns' => 'plugin.thunderbird_labels.rcm_tb_label_submenu-menu' |
82 #'classact' => 'listbutton add', | 82 #'classact' => 'listbutton add', |
284 #$this->api->output->add_label('copymessage.copyingmessage'); | 284 #$this->api->output->add_label('copymessage.copyingmessage'); |
285 $li = html::tag('li', | 285 $li = html::tag('li', |
286 array('class' => 'submenu'), | 286 array('class' => 'submenu'), |
287 '<span>'.rcube::Q($this->gettext('tb_label_contextmenu_title')).'</span>' . $this->_gen_label_submenu($args, 'tb_label_ctxm_submenu')); | 287 '<span>'.rcube::Q($this->gettext('tb_label_contextmenu_title')).'</span>' . $this->_gen_label_submenu($args, 'tb_label_ctxm_submenu')); |
288 $out .= html::tag('ul', array('id' => 'tb_label_ctxm_mainmenu'), $li); | 288 $out .= html::tag('ul', array('id' => 'tb_label_ctxm_mainmenu'), $li); |
289 rcube::write_log('lab',"stblc $out"); | 289 #rcube::write_log('lab',"stblc $out"); |
290 $this->api->output->add_footer(html::div(array('style' => 'display: none;'), $out)); | 290 $this->api->output->add_footer(html::div(array('style' => 'display: none;'), $out)); |
291 } | 291 } |
292 | 292 |
293 private function _gen_label_submenu($args, $id) | 293 private function _gen_label_submenu($args, $id) |
294 # never called? | 294 # never called? |
323 $flag = is_numeric("$flagvalue")? $flagname:$flagvalue;// for compatibility with < 0.5.4 | 323 $flag = is_numeric("$flagvalue")? $flagname:$flagvalue;// for compatibility with < 0.5.4 |
324 $flag = strtolower($flag); | 324 $flag = strtolower($flag); |
325 if (preg_match('/^\$?label/', $flag)) | 325 if (preg_match('/^\$?label/', $flag)) |
326 { | 326 { |
327 $flag_no = preg_replace('/^\$?label/', '', $flag); | 327 $flag_no = preg_replace('/^\$?label/', '', $flag); |
328 rcube::write_log($this->name, "Single message Flag: ".$flag." Flag_no:".$flag_no); | 328 #rcube::write_log($this->name, "Single message Flag: ".$flag." Flag_no:".$flag_no); |
329 $this->message_tb_labels[] = (int)$flag_no; | 329 $this->message_tb_labels[] = (int)$flag_no; |
330 } | 330 } |
331 } | 331 } |
332 } | 332 } |
333 # -- no return value for this hook | 333 # -- no return value for this hook |
354 if (!isset($args['messages']) or !is_array($args['messages'])) { | 354 if (!isset($args['messages']) or !is_array($args['messages'])) { |
355 return $args; | 355 return $args; |
356 } | 356 } |
357 // loop over all messages and add $LabelX info to the extra_flags | 357 // loop over all messages and add $LabelX info to the extra_flags |
358 $mbox = $this->rc->output->get_env('mailbox') ?: $this->rc->storage->get_folder(); | 358 $mbox = $this->rc->output->get_env('mailbox') ?: $this->rc->storage->get_folder(); |
359 rcube::write_log($this->name, "mbox: $mbox"); | 359 #rcube::write_log($this->name, "mbox: $mbox"); |
360 foreach($args['messages'] as $message) | 360 foreach($args['messages'] as $message) |
361 { | 361 { |
362 $message->list_flags['extra_flags']['tb_labels'] = array(); # always set extra_flags, needed for javascript later! | 362 $message->list_flags['extra_flags']['tb_labels'] = array(); # always set extra_flags, needed for javascript later! |
363 $message->list_flags['extra_flags']['tb_lparms'] = array(); | 363 $message->list_flags['extra_flags']['tb_lparms'] = array(); |
364 $keyPos = array_search($_SESSION['sort_col'],$this->rc->config->get('tb_label_parm_labels')); | 364 $keyPos = array_search($_SESSION['sort_col'],$this->rc->config->get('tb_label_parm_labels')); |
365 rcube::write_log($this->name,"sort? $keyPos ".$_SESSION['sort_order']." ".print_r($this->rc->config->get('tb_label_parm_labels'),true)); | 365 #rcube::write_log($this->name,"sort? $keyPos ".$_SESSION['sort_order']." ".print_r($this->rc->config->get('tb_label_parm_labels'),true)); |
366 if (is_array($message->flags)) | 366 if (is_array($message->flags)) |
367 foreach ($message->flags as $flagname => $flagvalue) | 367 foreach ($message->flags as $flagname => $flagvalue) |
368 { | 368 { |
369 $flag = is_numeric("$flagvalue")? $flagname:$flagvalue;// for compatibility with < 0.5.4 | 369 $flag = is_numeric("$flagvalue")? $flagname:$flagvalue;// for compatibility with < 0.5.4 |
370 $flag = strtolower($flag); | 370 $flag = strtolower($flag); |
371 if (preg_match('/^\$?label/', $flag)) | 371 if (preg_match('/^\$?label/', $flag)) |
372 { | 372 { |
373 $flag_no = preg_replace('/^\$?label/', '', $flag); | 373 $flag_no = preg_replace('/^\$?label/', '', $flag); |
374 rcube::write_log($this->name, "Flag:".$flag." Flag_no:".$flag_no); | 374 #rcube::write_log($this->name, "Flag:".$flag." Flag_no:".$flag_no); |
375 if ($ppos = strpos($flag_no,'_') > -1) { | 375 if ($ppos = strpos($flag_no,'_') > -1) { |
376 // We have a flag parameter value... | 376 // We have a flag parameter value... |
377 $pn=(int)substr($flag_no,0,$ppos); | 377 $pn=(int)substr($flag_no,0,$ppos); |
378 $pv=substr($flag_no,$ppos+1); | 378 $pv=substr($flag_no,$ppos+1); |
379 $message->list_flags['extra_flags']['tb_lparms'][]=array( | 379 $message->list_flags['extra_flags']['tb_lparms'][]=array( |
479 } | 479 } |
480 | 480 |
481 // set flags in IMAP server | 481 // set flags in IMAP server |
482 function set_flags() | 482 function set_flags() |
483 { | 483 { |
484 rcube::write_log($this->name, "set: ".print_r($_GET, true)); | 484 #rcube::write_log($this->name, "set: ".print_r($_GET, true)); |
485 | 485 |
486 $imap = $this->rc->imap; | 486 $imap = $this->rc->imap; |
487 $cbox = rcube_utils::get_input_value('_cur', rcube_utils::INPUT_GET); | 487 $cbox = rcube_utils::get_input_value('_cur', rcube_utils::INPUT_GET); |
488 $mbox = rcube_utils::get_input_value('_mbox', rcube_utils::INPUT_GET); | 488 $mbox = rcube_utils::get_input_value('_mbox', rcube_utils::INPUT_GET); |
489 $toggle_label = rcube_utils::get_input_value('_toggle_label', rcube_utils::INPUT_GET); | 489 $toggle_label = rcube_utils::get_input_value('_toggle_label', rcube_utils::INPUT_GET); |