| @@ 68-87 (lines=20) @@ | ||
| 65 | * @assert (-1) == 0 |
|
| 66 | * @assert (0) == 0 |
|
| 67 | */ |
|
| 68 | public function get_count_by_field_id($fieldId) |
|
| 69 | { |
|
| 70 | if (empty($fieldId)) { |
|
| 71 | return false; |
|
| 72 | } |
|
| 73 | $extraFieldType = $this->getExtraField()->getExtraFieldType(); |
|
| 74 | $fieldId = intval($fieldId); |
|
| 75 | ||
| 76 | $sql = "SELECT count(*) as count |
|
| 77 | FROM $this->table o |
|
| 78 | INNER JOIN $this->tableExtraField e |
|
| 79 | ON o.field_id = e.id |
|
| 80 | WHERE |
|
| 81 | o.field_id = $fieldId AND |
|
| 82 | e.extra_field_type = $extraFieldType "; |
|
| 83 | $result = Database::query($sql); |
|
| 84 | $result = Database::fetch_array($result); |
|
| 85 | ||
| 86 | return $result['count']; |
|
| 87 | } |
|
| 88 | ||
| 89 | /** |
|
| 90 | * Returns a list of options for a specific field, separated by ";" |
|
| @@ 740-759 (lines=20) @@ | ||
| 737 | * |
|
| 738 | * @return array|bool |
|
| 739 | */ |
|
| 740 | public function getValuesByFieldId($fieldId) |
|
| 741 | { |
|
| 742 | $fieldId = intval($fieldId); |
|
| 743 | $extraFieldType = $this->getExtraField()->getExtraFieldType(); |
|
| 744 | ||
| 745 | $sql = "SELECT s.* FROM {$this->table} s |
|
| 746 | INNER JOIN {$this->table_handler_field} sf |
|
| 747 | ON (s.field_id = sf.id) |
|
| 748 | WHERE |
|
| 749 | field_id = '".$fieldId."' AND |
|
| 750 | sf.extra_field_type = $extraFieldType |
|
| 751 | ORDER BY s.value"; |
|
| 752 | $result = Database::query($sql); |
|
| 753 | ||
| 754 | if (Database::num_rows($result)) { |
|
| 755 | ||
| 756 | return Database::store_result($result, 'ASSOC'); |
|
| 757 | } |
|
| 758 | ||
| 759 | return false; |
|
| 760 | } |
|
| 761 | ||
| 762 | /** |
|
| @@ 795-815 (lines=21) @@ | ||
| 792 | * |
|
| 793 | * @return array |
|
| 794 | */ |
|
| 795 | public function getAllValuesByItem($itemId) |
|
| 796 | { |
|
| 797 | $itemId = intval($itemId); |
|
| 798 | $extraFieldType = $this->getExtraField()->getExtraFieldType(); |
|
| 799 | ||
| 800 | $sql = "SELECT s.value, sf.variable FROM {$this->table} s |
|
| 801 | INNER JOIN {$this->table_handler_field} sf |
|
| 802 | ON (s.field_id = sf.id) |
|
| 803 | WHERE |
|
| 804 | item_id = '$itemId' AND |
|
| 805 | sf.extra_field_type = $extraFieldType |
|
| 806 | ORDER BY s.value"; |
|
| 807 | ||
| 808 | $result = Database::query($sql); |
|
| 809 | ||
| 810 | if (Database::num_rows($result)) { |
|
| 811 | return Database::store_result($result, 'ASSOC'); |
|
| 812 | } |
|
| 813 | ||
| 814 | return false; |
|
| 815 | } |
|
| 816 | ||
| 817 | /** |
|
| 818 | * @param int $itemId |
|
| @@ 1174-1187 (lines=14) @@ | ||
| 1171 | * @param int $user_id |
|
| 1172 | * @return bool |
|
| 1173 | */ |
|
| 1174 | public function get_user_skill_ranking($user_id) |
|
| 1175 | { |
|
| 1176 | $user_id = intval($user_id); |
|
| 1177 | $sql = "SELECT count(skill_id) count FROM {$this->table} s |
|
| 1178 | INNER JOIN {$this->table_skill_rel_user} su |
|
| 1179 | ON (s.id = su.skill_id) |
|
| 1180 | WHERE user_id = $user_id"; |
|
| 1181 | $result = Database::query($sql); |
|
| 1182 | if (Database::num_rows($result)) { |
|
| 1183 | $result = Database::fetch_row($result); |
|
| 1184 | return $result[0]; |
|
| 1185 | } |
|
| 1186 | return false; |
|
| 1187 | } |
|
| 1188 | ||
| 1189 | /** |
|
| 1190 | * @param $start |
|