Ejemplo n.º 1
0
 public function run()
 {
     $faker = Faker::create();
     foreach (range(1, 10) as $index) {
         Chat::create([]);
     }
 }
Ejemplo n.º 2
0
function addMessage($data)
{
    /* 'from_id','to_id','message','time' */
    $data['time'] = date("Y-m-d H:i:s");
    if ($c = Chat::create($data)) {
        $c['status'] = 'success';
    } else {
        $c['status'] = 'fail';
    }
    return $c;
}
Ejemplo n.º 3
0
 /**
  * @param array $attributes
  */
 public function loadRelated(array $attributes)
 {
     parent::loadRelated($attributes);
     if (isset($attributes['from'])) {
         $this->from = User::create($attributes['from']);
     }
     if (isset($attributes['chat'])) {
         $this->chat = isset($attributes['chat']->title) ? GroupChat::create($attributes['chat']) : User::create($attributes['chat']);
     }
     if (isset($attributes['forward_from'])) {
         $this->forward_from = User::create($attributes['forward_from']);
     }
     if (isset($attributes['forward_from_chat'])) {
         $this->forward_from_chat = Chat::create($attributes['forward_from_chat']);
     }
     if (isset($attributes['reply_to_message'])) {
         $this->reply_to_message = Message::create($attributes['reply_to_message']);
     }
     if (isset($attributes['entities'])) {
         $this->entities = array_map(function ($entity) {
             return MessageEntity::create($entity);
         }, $attributes['entities']);
     }
     if (isset($attributes['audio'])) {
         $this->audio = Audio::create($attributes['audio']);
     }
     if (isset($attributes['document'])) {
         $this->document = Document::create($attributes['document']);
     }
     if (isset($attributes['photo'])) {
         $this->photo = array_map(function ($photo) {
             return PhotoSize::create($photo);
         }, $attributes['photo']);
     }
     if (isset($attributes['sticker'])) {
         $this->sticker = Sticker::create($attributes['sticker']);
     }
     if (isset($attributes['video'])) {
         $this->video = Video::create($attributes['video']);
     }
     if (isset($attributes['voice'])) {
         $this->voice = Voice::create($attributes['voice']);
     }
     if (isset($attributes['contact'])) {
         $this->contact = Contact::create($attributes['contact']);
     }
     if (isset($attributes['location'])) {
         $this->location = Location::create($attributes['location']);
     }
     if (isset($attributes['venue'])) {
         $this->venue = Venue::create($attributes['venue']);
     }
     if (isset($attributes['new_chat_member'])) {
         $this->new_chat_member = User::create($attributes['new_chat_member']);
     }
     if (isset($attributes['left_chat_member'])) {
         $this->left_chat_member = new User($attributes['left_chat_member']);
     }
     if (isset($attributes['new_chat_photo'])) {
         $this->new_chat_photo = array_map(function ($photo) {
             return PhotoSize::create($photo);
         }, $attributes['new_chat_photo']);
     }
 }
 function doActions($conversation_id = null, $character_id = null)
 {
     $conversation = $this->find('first', array('conditions' => array('Conversation.id' => $conversation_id)));
     if (!empty($conversation['Quest'])) {
         App::import('Model', 'Chat');
         $Chat = new Chat();
         foreach ($conversation['Quest'] as $quest) {
             switch ($quest['ActionsConversation']['type']) {
                 case "getquest":
                     $this->Quest->bindModel(array('hasMany' => array('CharactersQuest')));
                     $this->Quest->CharactersQuest->save(array('id' => null, 'quest_id' => $quest['id'], 'character_id' => $character_id, 'completed' => 'no'));
                     // Maybe this user has already the quest done, so try to update it...
                     $this->Quest->update($quest['id'], $character_id);
                     $ChatData = array();
                     $ChatData['id'] = null;
                     $ChatData['type'] = 'system';
                     $ChatData['character_id_from'] = 0;
                     $ChatData['character_id_to'] = $character_id;
                     $ChatData['message'] = sprintf(__('Quest %s accepted.', true), '[quest]' . $quest['name'] . '[/quest]');
                     $ChatData['display'] = 'yes';
                     $Chat->create();
                     $Chat->save($ChatData);
                     $this->actionHappen = true;
                     break;
                 case "completequest":
                     $this->Quest->update($quest['id'], $character_id, true);
                     $ChatData['id'] = null;
                     $ChatData['type'] = 'system';
                     $ChatData['character_id_from'] = 0;
                     $ChatData['character_id_to'] = $character_id;
                     $ChatData['message'] = sprintf(__('Quest %s completed.', true), '[quest]' . $quest['name'] . '[/quest]');
                     $ChatData['display'] = 'yes';
                     $Chat->create();
                     $Chat->save($ChatData);
                     $this->actionHappen = true;
                     break;
             }
         }
     }
     /*
     $this->bindModel(array('hasMany' => array('ActionsConversation')));
     $someActions = $this->ActionsConversation->find('all', array('conditions' => array('ActionsConversation.conversation_id' => $conversation_id)));
     if(!empty($someActions)) {
     	App::import('Model', 'Action');
     	$Action = new Action();
     	foreach($someActions as $action) {
     		$Action->perform($action['ActionsConversation']['action_id'], $character_id);
     	}
     }
     */
 }