/** * Private method that handles assinging * karma to a user * @param string $karma_name * @param int $user_id * @return bool */ public function addKarma($karma_name, $user_id) { // First find the karma record $karma = Karma::findOne(['name' => $karma_name]); if ($karma) { KarmaUser::attachKarma($user_id, $karma->id); return true; } else { return false; } }
public function search($params) { $query = Karma::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); // load the search form data and validate if (!($this->load($params) && $this->validate())) { return $dataProvider; } // adjust the query by adding the filters $query->andFilterWhere(['id' => $this->id]); $query->andFilterWhere(['points' => $this->points]); $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'description', $this->description]); return $dataProvider; }
/** * Deletes a karma record */ public function actionDelete() { $id = (int) Yii::$app->request->get('id'); $doit = (int) Yii::$app->request->get('doit'); $karma = Karma::findOne(['id' => $id]); if ($karma == null) { throw new \yii\web\HttpException(404, "Karma record not found!"); } if ($doit == 2) { $this->forcePostRequest(); $karma->delete(); return $this->redirect(Url::toRoute('index')); } return $this->render('delete', array('model' => $karma)); }
public function getKarma() { return $this->hasOne(Karma::className(), ['id' => 'karma_id']); }