/** * Create a new flag * * @param integer $user_id ID of user who's flagging * @param integer $profile_id ID of profile being flagged * * @return boolean success flag */ static function create($user_id, $profile_id) { $ufp = new User_flag_profile(); $ufp->profile_id = $profile_id; $ufp->user_id = $user_id; $ufp->created = common_sql_now(); if (!$ufp->insert()) { $msg = sprintf(_("Couldn't flag profile '%d' for review."), $profile_id); throw new ServerException($msg); } $ufp->free(); return true; }
/** * Create a new flag * * @param integer $user_id ID of user who's flagging * @param integer $profile_id ID of profile being flagged * * @return boolean success flag */ static function create($user_id, $profile_id) { $ufp = new User_flag_profile(); $ufp->profile_id = $profile_id; $ufp->user_id = $user_id; $ufp->created = common_sql_now(); if (!$ufp->insert()) { // TRANS: Server exception. $msg = sprintf(_m('Couldn\'t flag profile "%d" for review.'), $profile_id); throw new ServerException($msg); } $ufp->free(); return true; }
/** * Retrieve this action's profiles * * @return Profile $profile Profile query results */ function getProfiles() { $ufp = new User_flag_profile(); $ufp->selectAdd(); $ufp->selectAdd('profile_id'); $ufp->selectAdd('count(*) as flag_count'); $ufp->whereAdd('cleared is NULL'); $ufp->groupBy('profile_id'); $ufp->orderBy('flag_count DESC, profile_id DESC'); $offset = ($this->page - 1) * PROFILES_PER_PAGE; $limit = PROFILES_PER_PAGE + 1; $ufp->limit($offset, $limit); $profiles = array(); if ($ufp->find()) { while ($ufp->fetch()) { $profile = Profile::staticGet('id', $ufp->profile_id); if (!empty($profile)) { $profiles[] = $profile; } } } $ufp->free(); return new ArrayWrapper($profiles); }
/** * Handle POST * * Executes the actions; deletes all flags * * @return void */ function handlePost() { $ufp = new User_flag_profile(); $result = $ufp->query('UPDATE user_flag_profile ' . 'SET cleared = now() ' . 'WHERE cleared is null ' . 'AND profile_id = ' . $this->profile->id); if ($result == false) { // TRANS: Server exception given when flags could not be cleared. $msg = sprintf(_m('Couldn\'t clear flags for profile "%s".'), $this->profile->nickname); throw new ServerException($msg); } $ufp->free(); if ($this->boolean('ajax')) { $this->ajaxResults(); } }
/** * Handle POST * * Executes the actions; deletes all flags * * @return void */ function handlePost() { $ufp = new User_flag_profile(); $result = $ufp->query('UPDATE user_flag_profile ' . 'SET cleared = now() ' . 'WHERE cleared is null ' . 'AND profile_id = ' . $this->profile->id); if ($result == false) { $msg = sprintf(_("Couldn't clear flags for profile '%s'."), $this->profile->nickname); throw new ServerException($msg); } $ufp->free(); if ($this->boolean('ajax')) { $this->ajaxResults(); } }