Completed
Push — master ( 510357...8b783b )
by Damian
06:19
created
code/controllers/ShareDraftController.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -104,7 +104,7 @@
 block discarded – undo
104 104
     }
105 105
 
106 106
     /**
107
-     * @param mixed $page
107
+     * @param DataObject|null $page
108 108
      *
109 109
      * @return mixed
110 110
      */
Please login to merge, or discard this patch.
Indentation   +118 added lines, -118 removed lines patch added patch discarded remove patch
@@ -2,122 +2,122 @@
 block discarded – undo
2 2
 
3 3
 class ShareDraftController extends Controller
4 4
 {
5
-    /**
6
-     * Controller for rendering draft pages.
7
-     *
8
-     * @config
9
-     *
10
-     * @var string
11
-     */
12
-    private static $controller = 'Page_Controller';
13
-
14
-    /**
15
-     * @var array
16
-     */
17
-    private static $allowed_actions = array(
18
-        'preview'
19
-    );
20
-
21
-    /**
22
-     * @var array
23
-     */
24
-    private static $url_handlers = array(
25
-        '$Key/$Token' => 'preview'
26
-    );
27
-
28
-    /**
29
-     * @param SS_HTTPRequest $request
30
-     *
31
-     * @return string|HTMLText
32
-     */
33
-    public function preview(SS_HTTPRequest $request)
34
-    {
35
-        $key = $request->param('Key');
36
-        $token = $request->param('Token');
37
-
38
-        /**
39
-         * @var ShareToken $shareToken
40
-         */
41
-        $shareToken = ShareToken::get()->filter('token', $token)->first();
42
-
43
-        if (!$shareToken) {
44
-            return $this->errorPage();
45
-        }
46
-
47
-        $page = Versioned::get_one_by_stage(
48
-            'SiteTree',
49
-            'Stage',
50
-            sprintf('"SiteTree"."ID" = \'%d\'', $shareToken->PageID)
51
-        );
52
-
53
-        $latest = Versioned::get_latest_version('SiteTree', $shareToken->PageID);
54
-
55
-        $controller = $this->getControllerFor($page);
56
-
57
-        if (!$shareToken->isExpired() && $page->generateKey($shareToken->Token) === $key) {
58
-            Requirements::css(SHAREDRAFTCONTENT_DIR . '/css/top-bar.css');
59
-
60
-            // Temporarily un-secure the draft site and switch to draft
61
-            $oldSecured = Session::get('unsecuredDraftSite');
62
-            $oldMode = Versioned::get_reading_mode();
63
-            $restore = function () use ($oldSecured, $oldMode) {
64
-                Session::set('unsecuredDraftSite', $oldSecured);
65
-                Versioned::set_reading_mode($oldMode);
66
-            };
67
-
68
-            // Process page inside an unsecured draft container
69
-            try {
70
-                Session::set('unsecuredDraftSite', true);
71
-                Versioned::reading_stage('Stage');
72
-
73
-                // Create mock request; Simplify request to single top level reqest
74
-                $pageRequest = new SS_HTTPRequest('GET', $page->URLSegment);
75
-                $pageRequest->match('$URLSegment//$Action/$ID/$OtherID', true);
76
-                $rendered = $controller->handleRequest($pageRequest, $this->model);
77
-
78
-                // Render draft heading
79
-                $data = new ArrayData(array(
80
-                    'Page' => $page,
81
-                    'Latest' => $latest,
82
-                ));
83
-                $include = (string) $data->renderWith('Includes/TopBar');
84
-            } catch (Exception $ex) {
85
-                $restore();
86
-                throw $ex;
87
-            }
88
-            $restore();
89
-
90
-            return str_replace('</body>', $include . '</body>', (string) $rendered->getBody());
91
-        } else {
92
-            return $this->errorPage();
93
-        }
94
-    }
95
-
96
-    /**
97
-     * @return HTMLText
98
-     */
99
-    protected function errorPage()
100
-    {
101
-        Requirements::css(SHAREDRAFTCONTENT_DIR . '/css/error-page.css');
102
-
103
-        return $this->renderWith('ShareDraftContentError');
104
-    }
105
-
106
-    /**
107
-     * @param mixed $page
108
-     *
109
-     * @return mixed
110
-     */
111
-    protected function getControllerFor($page)
112
-    {
113
-        $config = Config::inst()->forClass('ShareDraftController');
114
-
115
-        $controller = $config->controller;
116
-
117
-        if (!$controller || !class_exists($controller)) {
118
-            return new ContentController($page);
119
-        }
120
-
121
-        return new $controller($page);
122
-    }
5
+	/**
6
+	 * Controller for rendering draft pages.
7
+	 *
8
+	 * @config
9
+	 *
10
+	 * @var string
11
+	 */
12
+	private static $controller = 'Page_Controller';
13
+
14
+	/**
15
+	 * @var array
16
+	 */
17
+	private static $allowed_actions = array(
18
+		'preview'
19
+	);
20
+
21
+	/**
22
+	 * @var array
23
+	 */
24
+	private static $url_handlers = array(
25
+		'$Key/$Token' => 'preview'
26
+	);
27
+
28
+	/**
29
+	 * @param SS_HTTPRequest $request
30
+	 *
31
+	 * @return string|HTMLText
32
+	 */
33
+	public function preview(SS_HTTPRequest $request)
34
+	{
35
+		$key = $request->param('Key');
36
+		$token = $request->param('Token');
37
+
38
+		/**
39
+		 * @var ShareToken $shareToken
40
+		 */
41
+		$shareToken = ShareToken::get()->filter('token', $token)->first();
42
+
43
+		if (!$shareToken) {
44
+			return $this->errorPage();
45
+		}
46
+
47
+		$page = Versioned::get_one_by_stage(
48
+			'SiteTree',
49
+			'Stage',
50
+			sprintf('"SiteTree"."ID" = \'%d\'', $shareToken->PageID)
51
+		);
52
+
53
+		$latest = Versioned::get_latest_version('SiteTree', $shareToken->PageID);
54
+
55
+		$controller = $this->getControllerFor($page);
56
+
57
+		if (!$shareToken->isExpired() && $page->generateKey($shareToken->Token) === $key) {
58
+			Requirements::css(SHAREDRAFTCONTENT_DIR . '/css/top-bar.css');
59
+
60
+			// Temporarily un-secure the draft site and switch to draft
61
+			$oldSecured = Session::get('unsecuredDraftSite');
62
+			$oldMode = Versioned::get_reading_mode();
63
+			$restore = function () use ($oldSecured, $oldMode) {
64
+				Session::set('unsecuredDraftSite', $oldSecured);
65
+				Versioned::set_reading_mode($oldMode);
66
+			};
67
+
68
+			// Process page inside an unsecured draft container
69
+			try {
70
+				Session::set('unsecuredDraftSite', true);
71
+				Versioned::reading_stage('Stage');
72
+
73
+				// Create mock request; Simplify request to single top level reqest
74
+				$pageRequest = new SS_HTTPRequest('GET', $page->URLSegment);
75
+				$pageRequest->match('$URLSegment//$Action/$ID/$OtherID', true);
76
+				$rendered = $controller->handleRequest($pageRequest, $this->model);
77
+
78
+				// Render draft heading
79
+				$data = new ArrayData(array(
80
+					'Page' => $page,
81
+					'Latest' => $latest,
82
+				));
83
+				$include = (string) $data->renderWith('Includes/TopBar');
84
+			} catch (Exception $ex) {
85
+				$restore();
86
+				throw $ex;
87
+			}
88
+			$restore();
89
+
90
+			return str_replace('</body>', $include . '</body>', (string) $rendered->getBody());
91
+		} else {
92
+			return $this->errorPage();
93
+		}
94
+	}
95
+
96
+	/**
97
+	 * @return HTMLText
98
+	 */
99
+	protected function errorPage()
100
+	{
101
+		Requirements::css(SHAREDRAFTCONTENT_DIR . '/css/error-page.css');
102
+
103
+		return $this->renderWith('ShareDraftContentError');
104
+	}
105
+
106
+	/**
107
+	 * @param mixed $page
108
+	 *
109
+	 * @return mixed
110
+	 */
111
+	protected function getControllerFor($page)
112
+	{
113
+		$config = Config::inst()->forClass('ShareDraftController');
114
+
115
+		$controller = $config->controller;
116
+
117
+		if (!$controller || !class_exists($controller)) {
118
+			return new ContentController($page);
119
+		}
120
+
121
+		return new $controller($page);
122
+	}
123 123
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -60,7 +60,7 @@
 block discarded – undo
60 60
             // Temporarily un-secure the draft site and switch to draft
61 61
             $oldSecured = Session::get('unsecuredDraftSite');
62 62
             $oldMode = Versioned::get_reading_mode();
63
-            $restore = function () use ($oldSecured, $oldMode) {
63
+            $restore = function() use ($oldSecured, $oldMode) {
64 64
                 Session::set('unsecuredDraftSite', $oldSecured);
65 65
                 Versioned::set_reading_mode($oldMode);
66 66
             };
Please login to merge, or discard this patch.
code/models/ShareToken.php 1 patch
Indentation   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -8,34 +8,34 @@
 block discarded – undo
8 8
  */
9 9
 class ShareToken extends DataObject
10 10
 {
11
-    /**
12
-     * @var array
13
-     */
14
-    private static $db = array(
15
-        'Token' => 'Varchar(16)',
16
-        'ValidForDays' => 'Int',
17
-    );
11
+	/**
12
+	 * @var array
13
+	 */
14
+	private static $db = array(
15
+		'Token' => 'Varchar(16)',
16
+		'ValidForDays' => 'Int',
17
+	);
18 18
 
19
-    /**
20
-     * @var array
21
-     */
22
-    private static $has_one = array(
23
-        'Page' => 'Page'
24
-    );
19
+	/**
20
+	 * @var array
21
+	 */
22
+	private static $has_one = array(
23
+		'Page' => 'Page'
24
+	);
25 25
 
26
-    /**
27
-     * Determines whether the token is still valid (from days since it was created).
28
-     *
29
-     * @return bool
30
-     */
31
-    public function isExpired()
32
-    {
33
-        $createdSeconds = strtotime($this->Created);
26
+	/**
27
+	 * Determines whether the token is still valid (from days since it was created).
28
+	 *
29
+	 * @return bool
30
+	 */
31
+	public function isExpired()
32
+	{
33
+		$createdSeconds = strtotime($this->Created);
34 34
 
35
-        $validForSeconds = (int) $this->ValidForDays * 24 * 60 * 60;
35
+		$validForSeconds = (int) $this->ValidForDays * 24 * 60 * 60;
36 36
 
37
-        $nowSeconds = strtotime(SS_DateTime::now()->Format("Y-m-d H:i:s"));
37
+		$nowSeconds = strtotime(SS_DateTime::now()->Format("Y-m-d H:i:s"));
38 38
 
39
-        return ($createdSeconds + $validForSeconds) <= $nowSeconds;
40
-    }
39
+		return ($createdSeconds + $validForSeconds) <= $nowSeconds;
40
+	}
41 41
 }
Please login to merge, or discard this patch.
code/extensions/ShareDraftContentSiteTreeExtension.php 1 patch
Indentation   +106 added lines, -106 removed lines patch added patch discarded remove patch
@@ -5,110 +5,110 @@
 block discarded – undo
5 5
  */
6 6
 class ShareDraftContentSiteTreeExtension extends DataExtension
7 7
 {
8
-    /**
9
-     * The number of days a shared link should be valid for, before expiring.
10
-     *
11
-     * @config
12
-     *
13
-     * @var int
14
-     */
15
-    private static $valid_for_days = 30;
16
-
17
-    /**
18
-     * @var array
19
-     */
20
-    private static $db = array(
21
-        'ShareTokenSalt' => 'Varchar(16)',
22
-    );
23
-
24
-    /**
25
-     * @var array
26
-     */
27
-    private static $has_many = array(
28
-        'ShareTokens' => 'ShareToken',
29
-    );
30
-
31
-    /**
32
-     * @var array
33
-     */
34
-    private static $allowed_actions = array(
35
-        'MakeShareDraftLink'
36
-    );
37
-
38
-    /**
39
-     * @return string
40
-     */
41
-    public function ShareTokenLink()
42
-    {
43
-        $shareToken = $this->getNewShareToken();
44
-
45
-        return Controller::join_links(Director::absoluteBaseURL(), 'preview', $this->generateKey($shareToken->Token), $shareToken->Token);
46
-    }
47
-
48
-    /**
49
-     * @return ShareToken
50
-     */
51
-    protected function getNewShareToken()
52
-    {
53
-        if (!$this->owner->ShareTokenSalt) {
54
-            $this->owner->ShareTokenSalt = $this->getNewToken();
55
-            $this->owner->write();
56
-        }
57
-
58
-        $found = null;
59
-        $token = null;
60
-        $tries = 1;
61
-        $limit = 5;
62
-
63
-        while (!$found && ($tries++ < $limit)) {
64
-            $token = $this->getNewToken();
65
-
66
-            $found = ShareToken::get()->filter(array(
67
-                "Token" => $token,
68
-                "PageID" => $this->owner->ID,
69
-            ))->first();
70
-        }
71
-
72
-        $config = Config::inst()->forClass('ShareDraftContentSiteTreeExtension');
73
-
74
-        $validForDays = $config->valid_for_days;
75
-
76
-        $token = ShareToken::create(array(
77
-            "Token" => $token,
78
-            "ValidForDays" => $validForDays,
79
-            "PageID" => $this->owner->ID,
80
-        ));
81
-
82
-        $token->write();
83
-
84
-        return $token;
85
-    }
86
-
87
-    /**
88
-     * @return string
89
-     */
90
-    protected function getNewToken()
91
-    {
92
-        $generator = new RandomGenerator();
93
-
94
-        return substr($generator->randomToken('sha256'), 0, 16);
95
-    }
96
-
97
-    /**
98
-     * @param string $salt
99
-     *
100
-     * @return string
101
-     */
102
-    public function generateKey($salt)
103
-    {
104
-        return hash_pbkdf2('sha256', $salt, $this->owner->SharedTokenSalt, 1000, 16);
105
-    }
106
-
107
-    /**
108
-     * @return string
109
-     */
110
-    public function getShareDraftLinkAction()
111
-    {
112
-        return $this->owner->Link('MakeShareDraftLink');
113
-    }
8
+	/**
9
+	 * The number of days a shared link should be valid for, before expiring.
10
+	 *
11
+	 * @config
12
+	 *
13
+	 * @var int
14
+	 */
15
+	private static $valid_for_days = 30;
16
+
17
+	/**
18
+	 * @var array
19
+	 */
20
+	private static $db = array(
21
+		'ShareTokenSalt' => 'Varchar(16)',
22
+	);
23
+
24
+	/**
25
+	 * @var array
26
+	 */
27
+	private static $has_many = array(
28
+		'ShareTokens' => 'ShareToken',
29
+	);
30
+
31
+	/**
32
+	 * @var array
33
+	 */
34
+	private static $allowed_actions = array(
35
+		'MakeShareDraftLink'
36
+	);
37
+
38
+	/**
39
+	 * @return string
40
+	 */
41
+	public function ShareTokenLink()
42
+	{
43
+		$shareToken = $this->getNewShareToken();
44
+
45
+		return Controller::join_links(Director::absoluteBaseURL(), 'preview', $this->generateKey($shareToken->Token), $shareToken->Token);
46
+	}
47
+
48
+	/**
49
+	 * @return ShareToken
50
+	 */
51
+	protected function getNewShareToken()
52
+	{
53
+		if (!$this->owner->ShareTokenSalt) {
54
+			$this->owner->ShareTokenSalt = $this->getNewToken();
55
+			$this->owner->write();
56
+		}
57
+
58
+		$found = null;
59
+		$token = null;
60
+		$tries = 1;
61
+		$limit = 5;
62
+
63
+		while (!$found && ($tries++ < $limit)) {
64
+			$token = $this->getNewToken();
65
+
66
+			$found = ShareToken::get()->filter(array(
67
+				"Token" => $token,
68
+				"PageID" => $this->owner->ID,
69
+			))->first();
70
+		}
71
+
72
+		$config = Config::inst()->forClass('ShareDraftContentSiteTreeExtension');
73
+
74
+		$validForDays = $config->valid_for_days;
75
+
76
+		$token = ShareToken::create(array(
77
+			"Token" => $token,
78
+			"ValidForDays" => $validForDays,
79
+			"PageID" => $this->owner->ID,
80
+		));
81
+
82
+		$token->write();
83
+
84
+		return $token;
85
+	}
86
+
87
+	/**
88
+	 * @return string
89
+	 */
90
+	protected function getNewToken()
91
+	{
92
+		$generator = new RandomGenerator();
93
+
94
+		return substr($generator->randomToken('sha256'), 0, 16);
95
+	}
96
+
97
+	/**
98
+	 * @param string $salt
99
+	 *
100
+	 * @return string
101
+	 */
102
+	public function generateKey($salt)
103
+	{
104
+		return hash_pbkdf2('sha256', $salt, $this->owner->SharedTokenSalt, 1000, 16);
105
+	}
106
+
107
+	/**
108
+	 * @return string
109
+	 */
110
+	public function getShareDraftLinkAction()
111
+	{
112
+		return $this->owner->Link('MakeShareDraftLink');
113
+	}
114 114
 }
Please login to merge, or discard this patch.
code/extensions/ShareDraftContentControllerExtension.php 1 patch
Indentation   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -2,34 +2,34 @@
 block discarded – undo
2 2
 
3 3
 class ShareDraftContentControllerExtension extends Extension
4 4
 {
5
-    /**
6
-     * @var array
7
-     */
8
-    private static $allowed_actions = array(
9
-        'MakeShareDraftLink',
10
-    );
5
+	/**
6
+	 * @var array
7
+	 */
8
+	private static $allowed_actions = array(
9
+		'MakeShareDraftLink',
10
+	);
11 11
 
12
-    /**
13
-     * @return mixed
14
-     */
15
-    public function MakeShareDraftLink()
16
-    {
17
-        if ($member = Member::currentUser()) {
18
-            if ($this->owner->hasMethod('CurrentPage') && $this->owner->CurrentPage()->canEdit($member)) {
19
-                return $this->owner->CurrentPage()->ShareTokenLink();
20
-            } elseif ($this->owner->hasMethod('canEdit') && $this->owner->canEdit($member)) {
21
-                return $this->owner->ShareTokenLink();
22
-            }
23
-        }
12
+	/**
13
+	 * @return mixed
14
+	 */
15
+	public function MakeShareDraftLink()
16
+	{
17
+		if ($member = Member::currentUser()) {
18
+			if ($this->owner->hasMethod('CurrentPage') && $this->owner->CurrentPage()->canEdit($member)) {
19
+				return $this->owner->CurrentPage()->ShareTokenLink();
20
+			} elseif ($this->owner->hasMethod('canEdit') && $this->owner->canEdit($member)) {
21
+				return $this->owner->ShareTokenLink();
22
+			}
23
+		}
24 24
 
25
-        return Security::permissionFailure();
26
-    }
25
+		return Security::permissionFailure();
26
+	}
27 27
 
28
-    /**
29
-     * @return string
30
-     */
31
-    public function getShareDraftLinkAction()
32
-    {
33
-        return $this->owner->Link('MakeShareDraftLink');
34
-    }
28
+	/**
29
+	 * @return string
30
+	 */
31
+	public function getShareDraftLinkAction()
32
+	{
33
+		return $this->owner->Link('MakeShareDraftLink');
34
+	}
35 35
 }
Please login to merge, or discard this patch.
code/extensions/ShareDraftContentRequirementsExtension.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -2,12 +2,12 @@
 block discarded – undo
2 2
 
3 3
 class ShareDraftContentRequirementsExtension extends DataExtension
4 4
 {
5
-    /**
6
-     * @inheritdoc
7
-     */
8
-    public function init()
9
-    {
10
-        Requirements::css(SHAREDRAFTCONTENT_DIR . '/css/share-component.css');
11
-        Requirements::javascript(SHAREDRAFTCONTENT_DIR . '/javascript/main.js');
12
-    }
5
+	/**
6
+	 * @inheritdoc
7
+	 */
8
+	public function init()
9
+	{
10
+		Requirements::css(SHAREDRAFTCONTENT_DIR . '/css/share-component.css');
11
+		Requirements::javascript(SHAREDRAFTCONTENT_DIR . '/javascript/main.js');
12
+	}
13 13
 }
Please login to merge, or discard this patch.
code/tasks/RemoveExpiredShareTokensTask.php 1 patch
Indentation   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -1,39 +1,39 @@
 block discarded – undo
1 1
 <?php
2 2
 /**
3
- * Remove expired share tokens.
4
- *
5
- * Action to remove all expired ShareTokens from the database.
6
- *
7
- * To run this action the user needs admin rights.
8
- */
3
+	 * Remove expired share tokens.
4
+	 *
5
+	 * Action to remove all expired ShareTokens from the database.
6
+	 *
7
+	 * To run this action the user needs admin rights.
8
+	 */
9 9
 class RemoveExpiredShareTokens extends BuildTask
10 10
 {
11 11
 
12
-    protected $title = 'Remove expired share tokens';
12
+	protected $title = 'Remove expired share tokens';
13 13
 
14
-    protected $description = 'Remove all expired ShareTokens from the database';
14
+	protected $description = 'Remove all expired ShareTokens from the database';
15 15
 
16
-    public function init()
17
-    {
18
-        parent::init();
16
+	public function init()
17
+	{
18
+		parent::init();
19 19
 
20
-        if (!Permission::check('ADMIN')) {
21
-            return Security::permissionFailure($this);
22
-        }
23
-    }
20
+		if (!Permission::check('ADMIN')) {
21
+			return Security::permissionFailure($this);
22
+		}
23
+	}
24 24
 
25
-    public function run($request)
26
-    {
27
-        $shareTokens = ShareToken::get();
28
-        $removeCount = 0;
25
+	public function run($request)
26
+	{
27
+		$shareTokens = ShareToken::get();
28
+		$removeCount = 0;
29 29
 
30
-        foreach ($shareTokens as $token) {
31
-            if ($token->isExpired()) {
32
-                $token->delete();
33
-                $removeCount++;
34
-            }
35
-        }
30
+		foreach ($shareTokens as $token) {
31
+			if ($token->isExpired()) {
32
+				$token->delete();
33
+				$removeCount++;
34
+			}
35
+		}
36 36
 
37
-        echo "Removed $removeCount expired share tokens.\n";
38
-    }
37
+		echo "Removed $removeCount expired share tokens.\n";
38
+	}
39 39
 }
Please login to merge, or discard this patch.
tests/ShareDraftContentSiteTreeExtensionTest.php 1 patch
Indentation   +53 added lines, -53 removed lines patch added patch discarded remove patch
@@ -7,83 +7,83 @@
 block discarded – undo
7 7
  */
8 8
 class ShareDraftContentSiteTreeExtensionTest extends FunctionalTest
9 9
 {
10
-    /**
11
-     * @var string
12
-     */
13
-    public static $fixture_file = 'sharedraftcontent/tests/ShareDraftContentSiteTreeExtensionTest.yml';
10
+	/**
11
+	 * @var string
12
+	 */
13
+	public static $fixture_file = 'sharedraftcontent/tests/ShareDraftContentSiteTreeExtensionTest.yml';
14 14
 
15
-    public function testShareTokenLink()
16
-    {
17
-        /**
18
-         * First we check if both pages generate new ShareTokenSalt values. Then we check that
19
-         * these values are not the same.
20
-         */
15
+	public function testShareTokenLink()
16
+	{
17
+		/**
18
+		 * First we check if both pages generate new ShareTokenSalt values. Then we check that
19
+		 * these values are not the same.
20
+		 */
21 21
 
22
-        require_once(__DIR__ . "/../_config.php");
22
+		require_once(__DIR__ . "/../_config.php");
23 23
 
24
-        Page::add_extension('ShareDraftContentSiteTreeExtension');
24
+		Page::add_extension('ShareDraftContentSiteTreeExtension');
25 25
 
26
-        /**
27
-         * @var Page $firstSharedPage
28
-         */
29
-        $firstSharedPage = $this->objFromFixture('Page', 'FirstSharedPage');
26
+		/**
27
+		 * @var Page $firstSharedPage
28
+		 */
29
+		$firstSharedPage = $this->objFromFixture('Page', 'FirstSharedPage');
30 30
 
31
-        $firstShareLink = $firstSharedPage->ShareTokenLink();
31
+		$firstShareLink = $firstSharedPage->ShareTokenLink();
32 32
 
33
-        $this->assertNotEmpty($firstSharedPage->ShareTokenSalt);
33
+		$this->assertNotEmpty($firstSharedPage->ShareTokenSalt);
34 34
 
35
-        /**
36
-         * @var page $secondSharedPage
37
-         */
38
-        $secondSharedPage = $this->objFromFixture('Page', 'SecondSharedPage');
35
+		/**
36
+		 * @var page $secondSharedPage
37
+		 */
38
+		$secondSharedPage = $this->objFromFixture('Page', 'SecondSharedPage');
39 39
 
40
-        $secondShareLink = $secondSharedPage->ShareTokenLink();
40
+		$secondShareLink = $secondSharedPage->ShareTokenLink();
41 41
 
42
-        $this->assertNotEmpty($secondSharedPage->ShareTokenSalt);
42
+		$this->assertNotEmpty($secondSharedPage->ShareTokenSalt);
43 43
 
44
-        $this->assertNotEquals($firstShareLink, $secondShareLink);
44
+		$this->assertNotEquals($firstShareLink, $secondShareLink);
45 45
 
46
-        /**
47
-         * Then we get the underlying token and send a preview request. With a valid key and token,
48
-         * this will return a draft page. With an invalid key or token, this will return an expired
49
-         * link page.
50
-         */
46
+		/**
47
+		 * Then we get the underlying token and send a preview request. With a valid key and token,
48
+		 * this will return a draft page. With an invalid key or token, this will return an expired
49
+		 * link page.
50
+		 */
51 51
 
52
-        $firstSharedPageToken = $firstSharedPage->ShareTokens()->first();
52
+		$firstSharedPageToken = $firstSharedPage->ShareTokens()->first();
53 53
 
54
-        $this->assertNotEmpty($firstSharedPageToken);
54
+		$this->assertNotEmpty($firstSharedPageToken);
55 55
 
56
-        $parts = explode('/', $firstShareLink);
56
+		$parts = explode('/', $firstShareLink);
57 57
 
58
-        $token = array_pop($parts);
59
-        $key = array_pop($parts);
58
+		$token = array_pop($parts);
59
+		$key = array_pop($parts);
60 60
 
61
-        $this->assertEquals($token, $firstSharedPageToken->Token);
61
+		$this->assertEquals($token, $firstSharedPageToken->Token);
62 62
 
63
-        $request = new SS_HTTPRequest('GET', $firstShareLink);
63
+		$request = new SS_HTTPRequest('GET', $firstShareLink);
64 64
 
65
-        $request->setRouteParams(array(
66
-            'Token' => $token,
67
-            'Key' => $key,
68
-        ));
65
+		$request->setRouteParams(array(
66
+			'Token' => $token,
67
+			'Key' => $key,
68
+		));
69 69
 
70
-        $controller = new ShareDraftController($firstSharedPage);
70
+		$controller = new ShareDraftController($firstSharedPage);
71 71
 
72
-        $response = $controller->preview($request);
72
+		$response = $controller->preview($request);
73 73
 
74
-        $this->assertContains('share-draft-content-message', $response);
74
+		$this->assertContains('share-draft-content-message', $response);
75 75
 
76
-        $request = new SS_HTTPRequest('GET', $firstShareLink);
76
+		$request = new SS_HTTPRequest('GET', $firstShareLink);
77 77
 
78
-        $request->setRouteParams(array(
79
-            'Token' => $token,
80
-            'Key' => '',
81
-        ));
78
+		$request->setRouteParams(array(
79
+			'Token' => $token,
80
+			'Key' => '',
81
+		));
82 82
 
83
-        $controller = new ShareDraftController($firstSharedPage);
83
+		$controller = new ShareDraftController($firstSharedPage);
84 84
 
85
-        $response = $controller->preview($request);
85
+		$response = $controller->preview($request);
86 86
 
87
-        $this->assertContains('share-draft-error-page', $response);
88
-    }
87
+		$this->assertContains('share-draft-error-page', $response);
88
+	}
89 89
 }
Please login to merge, or discard this patch.
tests/ShareTokenTest.php 1 patch
Indentation   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -7,27 +7,27 @@
 block discarded – undo
7 7
  */
8 8
 class ShareTokenTest extends FunctionalTest
9 9
 {
10
-    /**
11
-     * @var string
12
-     */
13
-    public static $fixture_file = 'sharedraftcontent/tests/ShareTokenTest.yml';
10
+	/**
11
+	 * @var string
12
+	 */
13
+	public static $fixture_file = 'sharedraftcontent/tests/ShareTokenTest.yml';
14 14
 
15
-    public function testValidForDays()
16
-    {
17
-        SS_Datetime::set_mock_now('2015-03-15 00:00:00');
15
+	public function testValidForDays()
16
+	{
17
+		SS_Datetime::set_mock_now('2015-03-15 00:00:00');
18 18
 
19
-        /**
20
-         * @var ShareToken $validToken
21
-         */
22
-        $validToken = $this->objFromFixture('ShareToken', 'ValidToken');
19
+		/**
20
+		 * @var ShareToken $validToken
21
+		 */
22
+		$validToken = $this->objFromFixture('ShareToken', 'ValidToken');
23 23
 
24
-        $this->assertFalse($validToken->isExpired());
24
+		$this->assertFalse($validToken->isExpired());
25 25
 
26
-        /**
27
-         * @var ShareToken $invalidToken
28
-         */
29
-        $invalidToken = $this->objFromFixture('ShareToken', 'InvalidToken');
26
+		/**
27
+		 * @var ShareToken $invalidToken
28
+		 */
29
+		$invalidToken = $this->objFromFixture('ShareToken', 'InvalidToken');
30 30
 
31
-        $this->assertTrue($invalidToken->isExpired());
32
-    }
31
+		$this->assertTrue($invalidToken->isExpired());
32
+	}
33 33
 }
Please login to merge, or discard this patch.