--- /dev/null
+<?php
+
+ require_once('protected/required.php');
+
+ class PdoManagerManager extends AbstractPdoManager {
+
+ public function createManager($manager) {
+
+ $query = $this -> pdo -> prepare(
+ 'INSERT INTO managers (name, ap_id, appliances) VALUES (:name, :ap_id, :appliances)'
+ );
+ $query -> bindValue(':name', $manager -> getName());
+ $query -> bindValue(':ap_id', $manager -> getAPId());
+ $query -> bindValue(':appliances', implode("|", $manager -> getAppliances()));
+ $query -> execute();
+ $query -> closeCursor();
+
+ }
+
+ public function updateManager($manager) {
+
+ $query = $this -> pdo -> prepare(
+ 'UPDATE managers SET name = :name, ap_id = :ap_id, appliances = :appliances WHERE id = :id'
+ );
+ $query -> bindValue(':id', $manager -> getId());
+ $query -> bindValue(':name', $manager -> getName());
+ $query -> bindValue(':ap_id', $manager -> getAPId());
+ $query -> bindValue(':appliances', implode("|", $manager -> getAppliances()));
+ $query -> execute();
+ $query -> closeCursor();
+ }
+
+ public function getManager($id) {
+
+ $query = $this -> pdo -> prepare('SELECT * FROM managers WHERE id = :id');
+ $query -> bindValue(':id', $id);
+ $query -> execute();
+
+ $result = $query -> fetch(PDO::FETCH_ASSOC);
+ $manager = new Manager($result['id'], $result['name'], $result['ap_id'], explode("|", $result['appliances']));
+
+ $query->closeCursor();
+
+ return $manager;
+ }
+
+ public function getManagers() {
+
+ $query = $this -> pdo -> prepare('SELECT * FROM managers');
+ $query -> execute();
+
+ $results = $query -> fetchAll(PDO::FETCH_ASSOC);
+ $managers = array();
+ foreach ($results as $result) {
+ $managers[] = new Manager($result['id'], $result['name'], $result['ap_id'], explode("|", $result['appliances']));
+ }
+
+ $query->closeCursor();
+
+ return $managers;
+ }
+
+ public function getManagerByAp_id($ap_id) {
+
+ $query = $this -> pdo -> prepare('SELECT * FROM managers WHERE ap_id = :ap_id');
+ $query -> bindValue(':ap_id', $ap_id);
+ $query -> execute();
+
+ $result = $query -> fetch(PDO::FETCH_ASSOC);
+ $manager = new Manager($result['id'], $result['name'], $result['ap_id'], explode("|", $result['appliances']));
+
+ $query->closeCursor();
+
+ return $manager;
+ }
+
+ public function removeManager($manager) {
+
+ $query = $this -> pdo -> prepare('DELETE FROM manager WHERE id = :id');
+ $query -> bindValue('id', $manager -> getId());
+ $query -> execute();
+
+ }
+
+ }
+
+?>