$func = 'show_service'; } $vStartDate = new Valid('start_date'); $vStartDate->addRule(new Rule_Date()); $vStartDate->required(); if ($request->valid($vStartDate)) { $startDate = $request->get('start_date'); } else { $startDate = date('Y-m-d', strtotime('-1 week')); } if (strtotime($startDate) < strtotime('-3 months')) { $GLOBALS['Response']->addFeedback('info', $GLOBALS['Language']->getText('plugin_statistics', 'querying_purged_data')); } $vEndDate = new Valid('end_date'); $vEndDate->addRule(new Rule_Date()); $vEndDate->required(); if ($request->valid($vStartDate)) { $endDate = $request->get('end_date'); } else { $endDate = date('Y-m-d'); } if (strtotime($startDate) >= strtotime($endDate)) { $GLOBALS['Response']->addFeedback('error', 'You made a mistake in selecting period. Please try again!'); } $vGroupId = new Valid_UInt('group_id'); $vGroupId->required(); if ($request->valid($vGroupId)) { $groupId = $request->get('group_id'); } else { $groupId = ''; }
/** * Need to throw an error if the value is required but the rule return true * even with empty values */ function testRequiredAndPermissive() { $r =& new MockRule($this); $r->setReturnValue('isValid', true); $v = new Valid(); $v->disableFeedback(); $v->required(); $v->addRule($r); $this->assertFalse($v->validate('')); }