Code Duplication    Length = 15-17 lines in 5 locations

class/oledrion_discounts.php 5 locations

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