Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/Admin/Controller/ForceAgreement.php
<?php

namespace XF\Admin\Controller;

class
ForceAgreement extends AbstractController
{
    public function
actionPrivacyPolicy()
    {
       
$privacyPolicyUrl = $this->app->container('privacyPolicyUrl');

        if (!
$privacyPolicyUrl)
        {
            return
$this->error(\XF::phrase('you_do_not_currently_have_privacy_policy_url'));
        }

        if (
$this->isPost())
        {
           
$this->getOptionRepo()->updateOption('privacyPolicyLastUpdate', time());

            return
$this->redirect($this->buildLink('force-agreement/privacy-policy'));
        }
        else
        {
           
$options = $this->em()->find('XF:Option', 'privacyPolicyForceWhitelist');

           
$viewParams = [
               
'options' => [$options],
            ];
            return
$this->view('XF:ForceAgreement/PrivacyPolicy', 'force_agreement_privacy_policy', $viewParams);
        }
    }

    public function
actionTerms()
    {
       
$tosUrl = $this->app->container('tosUrl');

        if (!
$tosUrl)
        {
            return
$this->error(\XF::phrase('you_do_not_currently_have_terms_and_rules_url'));
        }

        if (
$this->isPost())
        {
           
$this->getOptionRepo()->updateOption('termsLastUpdate', time());

            return
$this->redirect($this->buildLink('force-agreement/terms'));
        }
        else
        {
           
$options = $this->em()->find('XF:Option', 'tosForceWhitelist');

           
$viewParams = [
               
'options' => [$options],
            ];
            return
$this->view('XF:ForceAgreement/Terms', 'force_agreement_terms', $viewParams);
        }
    }

   
/**
     * @return \XF\Mvc\Entity\Repository|\XF\Repository\Option
     */
   
protected function getOptionRepo()
    {
        return
$this->repository('XF:Option');
    }
}