Exemplo n.º 1
0
 /**
  * Triggers an event.
  *
  * @param string       $name   The name of the event to trigger.
  * @param Model_Seller $seller The seller for which to trigger the event.
  * @param array        $data   Optional data to send to the event callback.
  *
  * @return bool
  */
 public static function trigger($name, Model_Seller $seller, array $data = array())
 {
     $callback = Service_Seller_Callback::find_one(array('seller' => $seller, 'event' => $name));
     if (!$callback) {
         return false;
     }
     // Event name should always be included in the post data.
     $data['event'] = $name;
     $request = Request::forge($callback->url, 'curl');
     $request->set_method('post');
     $request->set_params($data);
     try {
         $request->execute();
     } catch (FuelException $e) {
         Log::error($e);
         return false;
     }
     return true;
 }
Exemplo n.º 2
0
 /**
  * Attempts to get a seller callback from a given ID.
  *
  * @param int $id Seller callback ID.
  *
  * @return Model_Seller_Callback
  */
 protected function get_callback($id)
 {
     $callback = Service_Seller_Callback::find_one(array('id' => $id, 'seller' => Seller::active()));
     if (!$callback) {
         throw new HttpNotFoundException();
     }
     return $callback;
 }