123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- <?php
- class KataoPeriodPeer extends BaseKataoPeriodPeer {
- /**
- * KataoPeriodPeer::getActivePeriod()
- *
- * @return KataoPeriod
- */
- public static function getActivePeriod() {
- $criteria = new Criteria();
- $criteria->add(self::STATUS, KataoPeriod::STATUS_ACTIVE);
- return self::doSelectOne($criteria);
- }
- /**
- * KataoPeriodPeer::getAllByKataoNode()
- *
- * @param mixed $this
- * @return
- */
- public static function getAllByKataoNode(KataoNode $kataoNode) {
- $criteria = new Criteria();
- $criteria->addAnd(self::KATAO_NODE_ID, $kataoNode->getId());
- return self::doSelect($criteria);
- }
- public static function getAll($status = false) {
- $return = array();
- $criteria = new Criteria();
- $criteria->addSelectColumn(self::ID);
- $criteria->addSelectColumn(self::NAME);
- if ($status) {
- $criteria->add(self::STATUS, $status);
- }
- $criteria->addDescendingOrderByColumn(self::BEGIN_AT);
- $rs = self::doSelectRS($criteria);
- while ($rs->next()) {
- $return[$rs->getInt(1)] = $rs->getString(2);
- }
- return $return;
- }
- public static function getAllArray() {
- $return = array();
- $criteria = new Criteria();
- $criteria->addSelectColumn(self::ID);
- $criteria->addSelectColumn(self::NAME);
- $criteria->addSelectColumn(self::STATUS);
- $criteria->addDescendingOrderByColumn(self::BEGIN_AT);
- $rs = self::doSelectRS($criteria);
- while ($rs->next()) {
- $return[$rs->getInt(1)] = array('name' => $rs->getString(2), 'status' => $rs->getInt(3));
- }
- return $return;
- }
- public static function getAllStatuses() {
- return array(KataoPeriod::STATUS_DRAFT => self::getStatusStr(KataoPeriod::STATUS_DRAFT), KataoPeriod::STATUS_ACTIVE => self::getStatusStr(KataoPeriod::STATUS_ACTIVE), KataoPeriod::STATUS_ARCHIVED => self::getStatusStr(KataoPeriod::STATUS_ARCHIVED));
- }
- public static function getStatusStr($status) {
- switch ($status) {
- case KataoPeriod::STATUS_DRAFT:
- return 'Provisoire';
- case KataoPeriod::STATUS_ACTIVE:
- return 'Active';
- case KataoPeriod::STATUS_ARCHIVED:
- return 'Terminée';
- }
- return '';
- }
- public static function getAllActiveWithoutCart($katao_node_id) {
- $return = self::getAll(KataoPeriod::STATUS_ACTIVE);
- $criteria = new Criteria();
- $criteria->addSelectColumn(KataoCartPeer::KATAO_PERIOD_ID);
- $criteria->add(KataoCartPeer::KATAO_NODE_ID, $katao_node_id);
- $rs = self::doSelectRS($criteria);
- while ($rs->next()) {
- unset($return[$rs->getInt(1)]);
- }
- return $return;
- }
- public static function hasConflictedPeriodDates($begin, $end, $exclude = false) {
- $criteria = new Criteria();
- $criteria->add(self::ID, $exclude, Criteria::NOT_EQUAL);
- $criterion1 = $criteria->getNewCriterion(self::BEGIN_AT, date('Y-m-d', $begin), Criteria::GREATER_EQUAL);
- $criterion1->addAnd($criteria->getNewCriterion(self::BEGIN_AT, date('Y-m-d', $end), Criteria::LESS_EQUAL));
- $criterion2 = $criteria->getNewCriterion(self::BEGIN_AT, date('Y-m-d', $begin), Criteria::LESS_EQUAL);
- $criterion2->addAnd($criteria->getNewCriterion(self::FINISH_AT, date('Y-m-d', $begin), Criteria::GREATER_EQUAL));
- $criterion1->addOr($criterion2);
- $criteria->addAnd($criterion1);
- return 0 < self::doCount($criteria);
- }
- public static function getAllWithDates() {
- $return = array();
- $criteria = new Criteria();
- $criteria->addSelectColumn(self::ID);
- $criteria->addSelectColumn(self::BEGIN_AT);
- $criteria->addSelectColumn(self::FINISH_AT);
- $criteria->addAscendingOrderByColumn(self::BEGIN_AT);
- $criteria->addAscendingOrderByColumn(self::FINISH_AT);
- $rs = self::doSelectRS($criteria);
- while ($rs->next()) {
- $return[$rs->getInt(1)] = array('begin' => date('Y-m-d', strtotime((string)$rs->getString(2))), 'end' => date('Y-m-d', strtotime((string)$rs->getString(3))));
- }
- return $return;
- }
- public static function getIdFromRangeDate($date, $katao_periods = array()) {
- $return = 0;
- foreach ($katao_periods as $katao_period_id => $dates) {
- if (!$return && $date >= $dates['begin'] && $date <= $dates['end']) {
- $return = $katao_period_id;
- }
- }
- return $return;
- }
- }
|