/**
     * @return boolean
     */
    protected function isWeeklySendDay($dateFrom) {
        $weeklyDay = $this->accountSettings->get(Pap_Settings::NOTIFICATION_WEEKLY_REPORT_SENT_ON);

        if (!$this->wasCronStopped($dateFrom)) {
            return date('w', $this->time) == $weeklyDay;
        }

        $dateFromTimestamp = Gpf_Common_DateUtils::getTimestamp($dateFrom);

        $dateStart = new Gpf_DateTime($dateFromTimestamp);
        $dateStart->addWeek(-1);
        $dateEnd = new Gpf_DateTime($dateFromTimestamp);
        $lastWeek = Gpf_Common_DateUtils::addDateUnitToTimestamp($this->time, -1, Gpf_Common_DateUtils::WEEK);

        if ($lastWeek < $dateStart->getWeekStart()->toDateTime() ||
        $lastWeek > $dateEnd->getWeekEnd()->toDateTime()) {
            return false;
        }

        if ($lastWeek >= $dateStart->getWeekStart()->toDateTime() &&
        $lastWeek <= $dateStart->getWeekEnd()->toDateTime() &&
        date('w', $dateFromTimestamp) >= $weeklyDay) {
            return false;
        }

        if (date('w', $this->time) < $weeklyDay) {
            return false;
        }
        return true;
    }