function find($criteria = null, $order = null, $limit = 1000, $from = 0) { $result = $this->database->query($this->buildFindQuery($criteria, $order, $limit, $from)); if (!is_null($result->getError())) { return $result->getError(); } $events = array(); while ($row = $result->fetchRow()) { $event = new Event(); $value = $row[0]; $event->setId($value); $value = $row[1]; $event->setPid($value); $value = $row[2]; $event->setCid($value); $value = $row[3]; $event->setSid($value); $value = $row[4]; $event->setValid_date($value); $value = $row[5]; $event->setReminde_date($value); $value = $row[6]; $event->setAmount($value); $value = $row[7]; $event->setState($value); $value = $row[8]; $event->setMoved($value); $value = $row[9]; $value = $this->database->toBoolean($value); $event->setDelay($value); $value = $row[10]; $event->setDelays($value); $value = $row[11]; $event->setComment($value); $value = $row[12]; $event->setIncome($value); $value = $row[13]; $event->setCost($value); $value = $row[14]; $event->setProfit($value); $value = $row[15]; $event->setWasted_time($value); $value = $row[16]; $event->setR_date($value); $value = $row[17]; $event->setDate($value); if ($order != null) { array_push($events, $event); } else { $events[$event->getId()] = $event; } } return $events; }
/** * Install a consumable to a printer */ public function installTo($printer) { global $db; #printf('Installing consumable %s to printer %s.', $this->getName(), $printer->getName()); #fCore::dump($printer); // Validation checks // 1. Check printer model is compatible $models = $this->getModels(); if (!in_array($printer->getModelId(), $models)) { $this->err = sprintf('Consumable %s not compatible with printer %s.', $this->getName(), $printer->getName()); return FALSE; } // 2. Check quantity if ($this->getQty() < 1) { $this->err = sprintf('No stock of the consumable %s.', $this->getName()); return FALSE; } // Finished validation // Add 'event' try { $e = new Event(); $e->setPrinterId($printer->getId()); $e->setConsumableId($this->getId()); $e->setDate(date('Y-m-d H:i:s')); $e->setCost($this->getCost()); $e->store(); } catch (fExpectedException $e) { #fMessaging::create('error', fURL::get(), $e->getMessage()); $this->err = $e->getMessage(); return FALSE; } catch (fSQLException $e) { #fMessaging::create('error', fURL::get(), 'Database error: ' . $e->getMessage()); $this->err = $e->getMessage(); return FALSE; } // Decrease stock try { $sql = 'UPDATE consumables SET qty = qty - 1 WHERE id = %i LIMIT 1'; $query = $db->execute($sql, $this->getId()); } catch (fSQLException $e) { $this->err = $e->getMessage(); return FALSE; } // Return true #echo 'Done!'; return TRUE; }