示例#1
0
 public function _incoming_sms()
 {
     $sms = Event::$data;
     //get all of the whitelisted numbers and see if there's a match
     $numbers = ORM::factory("simplegroups_groups_number")->find_all();
     foreach ($numbers as $number) {
         if ($number->number) {
             //makes it a fuzzy search
             if (!(strpos($sms->message_from, $number->number) === false) || $number->number == $sms->message_from) {
                 $group_message = ORM::factory("simplegroups_groups_message");
                 $group_message->simplegroups_groups_id = $number->simplegroups_groups_id;
                 $group_message->message_id = $sms->id;
                 $group_message->number_id = $number->id;
                 $group_message->save();
                 //check and see if it needs to be forwarded
                 groups::forward_message_to_own_instance($sms->message, $sms->message_from, $number->simplegroups_groups_id);
                 //check and see if we need to assign some categories to this
                 $group_categories = ORM::factory("simplegroups_category")->where("simplegroups_groups_id", $number->simplegroups_groups_id)->where("applies_to_message", "1")->where("selected_by_default", "1")->find_all();
                 foreach ($group_categories as $group_category) {
                     $category_instance = ORM::factory("simplegroups_message_category");
                     $category_instance->simplegroups_category_id = $group_category->id;
                     $category_instance->message_id = $sms->id;
                     $category_instance->save();
                 }
                 //break; //more than one number can match? good or bad?
             }
         }
     }
 }