public function actionRenderSend($broadcast_id)
 {
     $broadcast = Broadcast::findOne($broadcast_id);
     $broadcast_send = new BroadcastSend();
     $broadcast_send->broadcast_id = $broadcast_id;
     $broadcast_send->status = 0;
     $broadcast_send->save();
     if ($broadcast->registered_users == 1) {
         $users = User::find()->where(['status' => 10])->orderBy(['username' => SORT_ASC])->all();
         if ($users) {
             foreach ($users as $user) {
                 $broadcast_address = new BroadcastAddress();
                 $broadcast_address->broadcast_send_id = $broadcast_send->id;
                 $broadcast_address->user_id = $user->id;
                 $broadcast_address->save();
             }
         }
     }
     if ($broadcast->destinations) {
         $destinations = preg_split('/\\,/', $broadcast->destinations);
         foreach ($destinations as $destination) {
             $arr = preg_split('/#/', $destination);
             $broadcast_address = new BroadcastAddress();
             $broadcast_address->broadcast_send_id = $broadcast_send->id;
             $broadcast_address->email = trim($arr[0]);
             $broadcast_address->fio = isset($arr[1]) ? trim($arr[1]) : '';
             $broadcast_address->save();
         }
     }
     return $this->redirect(['send', 'broadcast_send_id' => $broadcast_send->id]);
 }
示例#2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getBroadcasts()
 {
     return $this->hasMany(Broadcast::className(), ['broadcast_layouts_id' => 'id']);
 }
示例#3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getBroadcast()
 {
     return $this->hasOne(Broadcast::className(), ['id' => 'broadcast_id']);
 }