2015-07-08 21:40:17 +00:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* ownCloud - weather
|
|
|
|
*
|
|
|
|
* This file is licensed under the Affero General Public License version 3 or
|
|
|
|
* later. See the COPYING file.
|
|
|
|
*
|
|
|
|
* @author Loic Blot <loic.blot@unix-experience.fr>
|
|
|
|
* @copyright Loic Blot 2015
|
2018-09-28 11:51:45 +00:00
|
|
|
* @copyright e-alfred 2018
|
2015-07-08 21:40:17 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
namespace OCA\Weather\Db;
|
|
|
|
|
2017-05-23 06:44:54 +00:00
|
|
|
use \OCP\IDBConnection;
|
2015-07-08 21:40:17 +00:00
|
|
|
|
2023-07-24 18:21:43 +00:00
|
|
|
use \OCP\AppFramework\Db\QbMapper;
|
2015-07-08 21:40:17 +00:00
|
|
|
|
2023-07-24 18:21:43 +00:00
|
|
|
class CityMapper extends QbMapper {
|
2018-09-28 11:51:45 +00:00
|
|
|
public function __construct (IDBConnection $db) {
|
|
|
|
parent::__construct($db, 'weather_city');
|
|
|
|
}
|
2015-07-08 22:05:57 +00:00
|
|
|
|
2018-09-28 11:51:45 +00:00
|
|
|
public function load ($id) {
|
|
|
|
$sql = "SELECT id, name, user_id FROM *PREFIX*weather_city WHERE `id` ='" . $id . "'";
|
|
|
|
$result = $this->db->executequery($sql);
|
2015-07-09 19:05:43 +00:00
|
|
|
|
2018-09-28 11:51:45 +00:00
|
|
|
if ($row = $result->fetch()) {
|
|
|
|
return $row;
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
}
|
2015-07-09 19:05:43 +00:00
|
|
|
|
2018-09-28 11:51:45 +00:00
|
|
|
public function count() {
|
|
|
|
$sql = "SELECT count(*) AS ct FROM *PREFIX*weather_city WHERE `user_id` ='" . $userId . "'";
|
|
|
|
$result = $this->db->executequery($sql);
|
|
|
|
if ($row = $result->fetch()) {
|
|
|
|
return $row['ct'];
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
2017-05-02 10:52:18 +00:00
|
|
|
|
2018-09-28 11:51:45 +00:00
|
|
|
public function exists ($id) {
|
|
|
|
return ($this->load($id));
|
|
|
|
}
|
2015-07-18 13:58:51 +00:00
|
|
|
|
2018-09-28 11:51:45 +00:00
|
|
|
public function getAll ($userId) {
|
|
|
|
$sql = "SELECT id, name FROM *PREFIX*weather_city WHERE `user_id` = '" . $userId . "'";
|
|
|
|
$result = $this->db->executequery($sql);
|
2015-07-09 19:05:43 +00:00
|
|
|
|
2018-09-28 11:51:45 +00:00
|
|
|
$cities = array();
|
|
|
|
while ($row = $result->fetch()) {
|
|
|
|
$cities[] = $row;
|
|
|
|
}
|
|
|
|
return $cities;
|
|
|
|
}
|
2015-07-09 19:05:43 +00:00
|
|
|
|
2018-09-28 11:51:45 +00:00
|
|
|
public function create ($userId, $name) {
|
|
|
|
$this->db->beginTransaction();
|
|
|
|
$sql = "INSERT INTO *PREFIX*weather_city(`user_id`, `name`) VALUES ('" . $userId . "','" . $name . "')";
|
|
|
|
$this->db->executequery($sql);
|
|
|
|
$this->db->commit();
|
2015-07-08 22:05:57 +00:00
|
|
|
|
2018-09-28 11:51:45 +00:00
|
|
|
$sql = "SELECT max(id) as maxid FROM *PREFIX*weather_city WHERE `user_id` = '" . $userId . "' and `name` = '" . $name . "'";
|
|
|
|
$result = $this->db->executequery($sql);
|
2015-07-08 22:05:57 +00:00
|
|
|
|
2018-09-28 11:51:45 +00:00
|
|
|
if ($row = $result->fetch()) {
|
|
|
|
return $row['maxid'];
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
}
|
2015-07-08 21:40:17 +00:00
|
|
|
};
|
|
|
|
?>
|