/** * Add a new wanted release. * @param string $mbid * @param int $artist * @param string $artist_mbid * @param string $name * @param int $year */ public static function add_wanted($mbid, $artist, $artist_mbid, $name, $year) { $sql = "INSERT INTO `wanted` (`user`, `artist`, `artist_mbid`, `mbid`, `name`, `year`, `date`, `accepted`) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"; $accept = $GLOBALS['user']->has_access('75') ? true : AmpConfig::get('wanted_auto_accept'); $params = array($GLOBALS['user']->id, $artist, $artist_mbid, $mbid, $name, $year, time(), '0'); Dba::write($sql, $params); if ($accept) { $wantedid = Dba::insert_id(); $wanted = new Wanted($wantedid); $wanted->accept(); database_object::remove_from_cache('wanted', $wantedid); } }
/** * update * This updates a single preference from the given name or id */ public static function update($preference, $user_id, $value, $applytoall = false, $applytodefault = false) { // First prepare if (!is_numeric($preference)) { $id = self::id_from_name($preference); $name = $preference; } else { $name = self::name_from_id($preference); $id = $preference; } if ($applytoall and Access::check('interface', '100')) { $user_check = ""; } else { $user_check = " AND `user`='{$user_id}'"; } if ($applytodefault and Access::check('interface', '100')) { $sql = "UPDATE `preference` SET `value`='{$value}' WHERE `id`='{$id}'"; Dba::write($sql); } $value = Dba::escape($value); if (self::has_access($name)) { $user_id = Dba::escape($user_id); $sql = "UPDATE `user_preference` SET `value`='{$value}' WHERE `preference`='{$id}'{$user_check}"; Dba::write($sql); Preference::clear_from_session(); parent::remove_from_cache('get_by_user', $user_id); return true; } else { debug_event('denied', $GLOBALS['user'] ? $GLOBALS['user']->username : '******' . ' attempted to update ' . $name . ' but does not have sufficient permissions', 3); } return false; }