예제 #1
0
 public function actionImport()
 {
     $file = $_FILES['file'];
     $kv = new KeyValues('Groups');
     $kv->load($file['tmp_name']);
     foreach ($kv as $name => $data) {
         $server_group = new SBServerGroup();
         $server_group->name = $name;
         $server_group->flags = isset($data['flags']) ? $data['flags'] : '';
         $server_group->immunity = isset($data['immunity']) ? $data['immunity'] : 0;
         $server_group->save();
         if (isset($data['Overrides'])) {
             foreach ($data['Overrides'] as $name => $access) {
                 // Parse name
                 if ($name[0] == ':') {
                     $type = 'group';
                     $name = substr($name, 1);
                 } else {
                     $type = 'command';
                 }
                 $override = new SBServerGroupOverride();
                 $override->group_id = $server_group->id;
                 $override->type = $type;
                 $override->name = $name;
                 $override->access = $access;
                 $override->save();
             }
         }
     }
     SourceBans::log('Groups imported', 'Groups imported from ' . $file['name']);
     Yii::app()->user->setFlash('success', Yii::t('sourcebans', 'Imported successfully'));
     $this->redirect(array('admin/groups'));
 }