Code Duplication    Length = 14-16 lines in 5 locations

class/oledrion_discounts.php 5 locations

@@ 203-218 (lines=16) @@
200
     *
201
     * @return array Tableau d'objets de type Discounts
202
     */
203
    public function getRulesOnEachProduct()
204
    {
205
        static $buffer = array();
206
        if (is_array($buffer) && count($buffer) > 0) {
207
        } else {
208
            $groups  = OledrionUtility::getCurrentMemberGroups();
209
            $critere = new CriteriaCompo();
210
            $critere->add(new Criteria('disc_on_what', OLEDRION_DISCOUNT_ON3, '='));
211
            if (count($groups) > 0) {
212
                $critere->add(new Criteria('disc_group', '(' . implode(',', $groups) . ')', 'IN'));
213
            }
214
            $buffer = $this->getObjects($critere);
215
        }
216
217
        return $buffer;
218
    }
219
220
    /**
221
     * Renvoie la liste des règles à appliquer sur tous les produits (avec gestion de cache) pour l'utilisateur courant
@@ 225-238 (lines=14) @@
222
     *
223
     * @return array Tableau d'objets de type Discounts
224
     */
225
    public function getRulesOnAllProducts()
226
    {
227
        static $buffer = array();
228
        if (is_array($buffer) && count($buffer) > 0) {
229
        } else {
230
            $critere = new CriteriaCompo();
231
            $critere->add(new Criteria('disc_on_what', OLEDRION_DISCOUNT_ON2, '='));
232
            $tblGroups = OledrionUtility::getCurrentMemberGroups();
233
            $critere->add(new Criteria('disc_group', '(' . implode(',', $tblGroups) . ')', 'IN'));
234
            $buffer = $this->getObjects($critere);
235
        }
236
237
        return $buffer;
238
    }
239
240
    /**
241
     * Renvoie la liste des règles à appliquer sur les frais de ports (avec gestion de cache) pour l'utilisateur courant
@@ 245-258 (lines=14) @@
242
     *
243
     * @return array Tableau d'objets de type Discounts
244
     */
245
    public function getRulesOnShipping()
246
    {
247
        static $buffer = array();
248
        if (is_array($buffer) && count($buffer) > 0) {
249
        } else {
250
            $critere = new CriteriaCompo();
251
            $critere->add(new Criteria('disc_on_what', OLEDRION_DISCOUNT_ON4, '='));
252
            $tblGroups = OledrionUtility::getCurrentMemberGroups();
253
            $critere->add(new Criteria('disc_group', '(' . implode(',', $tblGroups) . ')', 'IN'));
254
            $buffer = $this->getObjects($critere);
255
        }
256
257
        return $buffer;
258
    }
259
260
    /**
261
     * Renvoie la liste des règles à appliquer sur les frais de ports (avec gestion de cache) pour l'utilisateur courant
@@ 265-279 (lines=15) @@
262
     *
263
     * @return array Tableau d'objets de type Discounts
264
     */
265
    public function getRulesOnShipping2()
266
    {
267
        static $buffer = array();
268
        if (is_array($buffer) && count($buffer) > 0) {
269
        } else {
270
            $critere = new CriteriaCompo();
271
            $critere->add(new Criteria('disc_on_what', OLEDRION_DISCOUNT_ON5, '='));
272
            $critere->add(new Criteria('disc_shipping', OLEDRION_DISCOUNT_SHIPPING_TYPE2, '='));
273
            $tblGroups = OledrionUtility::getCurrentMemberGroups();
274
            $critere->add(new Criteria('disc_group', '(' . implode(',', $tblGroups) . ')', 'IN'));
275
            $buffer = $this->getObjects($critere);
276
        }
277
278
        return $buffer;
279
    }
280
281
    /**
282
     * Renvoie la liste des règles à appliquer sur l'intégralité de la commande (avec gestion de cache) pour l'utilisateur courant
@@ 286-299 (lines=14) @@
283
     *
284
     * @return array Tableau d'objets de type Discounts
285
     */
286
    public function getRulesOnCommand()
287
    {
288
        static $buffer = array();
289
        if (is_array($buffer) && count($buffer) > 0) {
290
        } else {
291
            $critere = new CriteriaCompo();
292
            $critere->add(new Criteria('disc_on_what', OLEDRION_DISCOUNT_ON1, '='));
293
            $tblGroups = OledrionUtility::getCurrentMemberGroups();
294
            $critere->add(new Criteria('disc_group', '(' . implode(',', $tblGroups) . ')', 'IN'));
295
            $buffer = $this->getObjects($critere);
296
        }
297
298
        return $buffer;
299
    }
300
301
    /**
302
     * Deuxième lot de réductions, à appliquer sur les frais de port