Ejemplo n.º 1
0
 /**
  * Event: core.posting_modify_template_vars
  *
  * Send the Trader type on edits or preview
  *
  * @param phpbbEvent $event
  */
 public function posting_modify_template_vars(phpbbEvent $event)
 {
     $mode = $enable_trader = $topic_id = $post_id = $topic_first_post_id = false;
     $data = $event->get_data();
     if (empty($data['post_data']['enabled_trader_types'])) {
         return;
     }
     if (!empty($data['mode'])) {
         $mode = $data['mode'];
     }
     if ($mode == 'reply') {
         return;
     }
     if (!empty($data['post_data']['topic_id'])) {
         $topic_id = $data['post_data']['topic_id'];
     }
     if (!empty($data['post_data']['post_id'])) {
         $post_id = $data['post_data']['post_id'];
     }
     if (!empty($data['post_data']['topic_first_post_id'])) {
         $topic_first_post_id = $data['post_data']['topic_first_post_id'];
     }
     $_post = $this->request->get_super_global(phpbbRequest::POST);
     $type_bitfield = $data['post_data']['enabled_trader_types'];
     $data['page_data']['TRADER_BUY'] = $this->manager->isSetBuy($type_bitfield);
     $data['page_data']['TRADER_SELL'] = $this->manager->isSetSell($type_bitfield);
     $data['page_data']['TRADER_TRADE'] = $this->manager->isSetTrade($type_bitfield);
     if ($mode == 'post') {
         $data['page_data']['TRADER_SHOW_FIELD'] = true;
         if (!empty($data['submit']) || !empty($data['preview'])) {
             // get value from the post
             $data['page_data']['TRADER_TYPE'] = $_post['prefixfield'];
         }
         $event->set_data($data);
     } else {
         if ($mode == 'edit') {
             // set the trader type
             if ($topic_id && $post_id && $post_id == $topic_first_post_id) {
                 if (!empty($data['submit']) || !empty($data['preview'])) {
                     // get value from the post
                     $data['page_data']['TRADER_TYPE'] = $_post['prefixfield'];
                 } else {
                     // get value from the db
                     $data['page_data']['TRADER_TYPE'] = $data['post_data']['topic_trader_type'];
                 }
                 $data['page_data']['TRADER_SHOW_FIELD'] = true;
                 $event->set_data($data);
             } else {
                 return;
                 // not the first post! do nothing
             }
         }
     }
 }