/** * Deletes a specific report * * @param int $idReport */ public function deleteReport($idReport) { $pdfReports = $this->getReports($idSite = false, $periodSearch = false, $idReport); $report = reset($pdfReports); Piwik::checkUserIsSuperUserOrTheUser($report['login']); Zend_Registry::get('db')->update(Piwik_Common::prefixTable('report'), array('deleted' => 1), "idreport = '{$idReport}'"); self::$cache = array(); }
/** * Updates a user in the database. * Only login and password are required (case when we update the password). * When the password changes, the key token for this user will change, which could break * its API calls. * * @see addUser() for all the parameters */ public function updateUser($userLogin, $password = false, $email = false, $alias = false) { Piwik::checkUserIsSuperUserOrTheUser($userLogin); $this->checkUserIsNotAnonymous($userLogin); $this->checkUserIsNotSuperUser($userLogin); $userInfo = $this->getUser($userLogin); if (empty($password)) { $password = $userInfo['password']; } else { $password = Piwik_Common::unsanitizeInputValue($password); $this->checkPassword($password); $password = $this->getCleanPassword($password); } if (empty($alias)) { $alias = $userInfo['alias']; } if (empty($email)) { $email = $userInfo['email']; } if ($email != $userInfo['email']) { $this->checkEmail($email); } $alias = $this->getCleanAlias($alias, $userLogin); $token_auth = $this->getTokenAuth($userLogin, $password); $db = Zend_Registry::get('db'); $db->update(Piwik_Common::prefixTable("user"), array('password' => $password, 'alias' => $alias, 'email' => $email, 'token_auth' => $token_auth), "login = '******'"); Piwik_Common::deleteTrackerCache(); Piwik_PostEvent('UsersManager.updateUser', $userLogin); }
/** * Sets the language for the user * * @param string $login * @param string $languageCode * @return bool */ public function setLanguageForUser($login, $languageCode) { Piwik::checkUserIsSuperUserOrTheUser($login); if (!$this->isLanguageAvailable($languageCode)) { return false; } $paramsBind = array($login, $languageCode, $languageCode); Piwik_Query('INSERT INTO ' . Piwik_Common::prefixTable('user_language') . ' (login, language) VALUES (?,?) ON DUPLICATE KEY UPDATE language=?', $paramsBind); }
/** * Sets the language for the user * * @param string $login * @param string $languageCode */ static public function setLanguageForUser($login, $languageCode) { Piwik::checkUserIsSuperUserOrTheUser($login); $paramsBind = array($login, $languageCode, $languageCode); Piwik_Query('INSERT INTO '.Piwik::prefixTable('user_language') . ' (login, language) VALUES (?,?) ON DUPLICATE KEY UPDATE language=?', $paramsBind); }
/** * Updates a user in the database. * Only login and password are required (case when we update the password). * When the password changes, the key token for this user will change, which could break * its API calls. * * @see addUser() for all the parameters */ static public function updateUser( $userLogin, $password = false, $email = false, $alias = false ) { Piwik::checkUserIsSuperUserOrTheUser($userLogin); self::checkUserIsNotAnonymous( $userLogin ); self::checkUserIsNotSuperUser($userLogin); $userInfo = self::getUser($userLogin); if(empty($password)) { $password = $userInfo['password']; } else { self::checkPassword($password); $password = self::getCleanPassword($password); } if(empty($alias)) { $alias = $userInfo['alias']; } if(empty($email)) { $email = $userInfo['email']; } if($email != $userInfo['email']) { self::checkEmail($email); } $alias = self::getCleanAlias($alias,$userLogin); $token_auth = self::getTokenAuth($userLogin,$password); $db = Zend_Registry::get('db'); $db->update( Piwik::prefixTable("user"), array( 'password' => $password, 'alias' => $alias, 'email' => $email, 'token_auth' => $token_auth, ), "login = '******'" ); }
public static function setLanguageForUser($login, $language) { Piwik::checkUserIsSuperUserOrTheUser($login); $table = Piwik::prefixTable('user_language'); $dataIns = array('language' => $language, 'login' => $login); $dataUpd = array('language' => $language); $where = 'login = '******'db')->quote($login); if (!Zend_Registry::get('db')->update($table, $dataUpd, $where)) { Zend_Registry::get('db')->insert($table, $dataIns); } }