KataoMemberPeer.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <?php
  2. /**
  3. * Subclass for performing query and update operations on the 'katao_member' table.
  4. *
  5. * @package lib.model
  6. */
  7. class KataoMemberPeer extends BaseKataoMemberPeer {
  8. /**
  9. * KataoMemberPeer::retrieveByKataoIndex()
  10. *
  11. * @param int $index
  12. * @return KataoMember
  13. */
  14. public static function retrieveByKataoIndex($index) {
  15. $criteria = new Criteria();
  16. $criteria->add(self::KATAO_INDEX, $index);
  17. return self::doSelectOne($criteria);
  18. }
  19. /**
  20. * KataoMemberPeer::retrieveByKataoUserId()
  21. *
  22. * @param int $id
  23. * @return KataoMember
  24. */
  25. public static function retrieveByKataoUserId($id) {
  26. $criteria = new Criteria();
  27. $criteria->addJoin(self::ID, KataoUserPeer::KATAO_MEMBER_ID);
  28. $criteria->add(KataoUserPeer::ID, $id);
  29. return self::doSelectOne($criteria);
  30. }
  31. /**
  32. * KataoMemberPeer::countByAccountingCode()
  33. *
  34. * @param string $accounting_code
  35. * @return boolean
  36. */
  37. public static function countByAccountingCode($accounting_code) {
  38. $criteria = new Criteria();
  39. $criteria->add(self::ACCOUNTING_CODE, $accounting_code);
  40. return self::doCount($criteria);
  41. }
  42. public static function getAll($is_referer = false, $is_delegate = false, $katao_node_id = false) {
  43. $return = array();
  44. $criteria = new Criteria();
  45. $criteria->addSelectColumn(self::ID);
  46. $criteria->addSelectColumn(self::LAST_NAME);
  47. $criteria->addSelectColumn(self::FIRST_NAME);
  48. if ($is_referer) {
  49. $criteria->add(self::IS_REFERER, true);
  50. }
  51. if ($is_delegate) {
  52. $criteria->add(self::IS_DELEGATE, true);
  53. }
  54. if ($katao_node_id) {
  55. $criteria->add(self::KATAO_NODE_ID, $katao_node_id);
  56. }
  57. $criteria->addAscendingOrderByColumn(self::LAST_NAME);
  58. $criteria->addAscendingOrderByColumn(self::FIRST_NAME);
  59. $rs = self::doSelectRS($criteria);
  60. while ($rs->next()) {
  61. $return[$rs->getInt(1)] = sprintf('%s %s', $rs->getString(2), $rs->getString(3));
  62. }
  63. return $return;
  64. }
  65. public static function getAllDelegates() {
  66. return self::getAll(false, true);
  67. }
  68. public static function getAllReferers() {
  69. return self::getAll(true, false);
  70. }
  71. public static function getAllGroupedByNode($is_referer = false, $is_delegate = false, $only_with_email = false) {
  72. $return = array();
  73. $criteria = new Criteria();
  74. $criteria->addSelectColumn(KataoNodePeer::CITY);
  75. $criteria->addSelectColumn(self::ID);
  76. $criteria->addSelectColumn(self::LAST_NAME);
  77. $criteria->addSelectColumn(self::FIRST_NAME);
  78. $criteria->addJoin(self::KATAO_NODE_ID, KataoNodePeer::ID);
  79. $criteria->addJoin(self::ID, KataoUserPeer::KATAO_MEMBER_ID);
  80. if ($is_referer) {
  81. $criteria->add(self::IS_REFERER, true);
  82. }
  83. if ($is_delegate) {
  84. $criteria->add(self::IS_DELEGATE, true);
  85. }
  86. if ($only_with_email) {
  87. $criteria->add(KataoUserPeer::EMAIL, null, Criteria::NOT_EQUAL);
  88. $criteria->add(KataoUserPeer::EMAIL, '', Criteria::NOT_EQUAL);
  89. }
  90. $criteria->addAscendingOrderByColumn(KataoNodePeer::CITY);
  91. $criteria->addAscendingOrderByColumn(self::LAST_NAME);
  92. $criteria->addAscendingOrderByColumn(self::FIRST_NAME);
  93. $rs = self::doSelectRS($criteria);
  94. while ($rs->next()) {
  95. $return[$rs->getString(1)][$rs->getInt(2)] = sprintf('%s %s', $rs->getString(3), $rs->getString(4));
  96. }
  97. return $return;
  98. }
  99. public static function getAllDelegatesGroupedByNode() {
  100. return self::getAllGroupedByNode(false, true);
  101. }
  102. public static function getAllReferersGroupedByNode() {
  103. return self::getAllGroupedByNode(true, false);
  104. }
  105. public static function getAllUsersGroupedByNode() {
  106. $return = array();
  107. $criteria = new Criteria();
  108. $criteria->addSelectColumn(KataoNodePeer::CITY);
  109. $criteria->addSelectColumn(KataoUserPeer::ID);
  110. $criteria->addSelectColumn(self::LAST_NAME);
  111. $criteria->addSelectColumn(self::FIRST_NAME);
  112. $criteria->addJoin(self::ID, KataoUserPeer::KATAO_MEMBER_ID);
  113. $criteria->addJoin(self::KATAO_NODE_ID, KataoNodePeer::ID);
  114. $criteria->addAscendingOrderByColumn(KataoNodePeer::CITY);
  115. $criteria->addAscendingOrderByColumn(self::LAST_NAME);
  116. $criteria->addAscendingOrderByColumn(self::FIRST_NAME);
  117. $rs = self::doSelectRS($criteria);
  118. while ($rs->next()) {
  119. $return[$rs->getString(1)][$rs->getInt(2)] = sprintf('%s %s', $rs->getString(3), $rs->getString(4));
  120. }
  121. return $return;
  122. }
  123. }