Test Setup Failed
Branch master (ff33da)
by Dylan
14:59
created
code/admin/SEOToolboxAdmin.php 1 patch
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -9,19 +9,19 @@
 block discarded – undo
9 9
  * all the automated links and automated link global settings
10 10
  * for this site
11 11
  */
12
-class SEOToolboxAdmin extends ModelAdmin{
12
+class SEOToolboxAdmin extends ModelAdmin {
13 13
 	
14 14
 	private static $menu_title      = 'SEO Tool box';
15 15
 	private static $url_segment     = 'seo-tool-box';
16
-	private static $managed_models  = array( 'AutomatedLink' );
17
-    private static $menu_priority   = 10;
16
+	private static $managed_models  = array('AutomatedLink');
17
+    private static $menu_priority = 10;
18 18
 
19 19
 
20 20
 	public function getEditForm($id = null, $fields = null) {
21
-		$form = parent::getEditForm( $id, $fields );
21
+		$form = parent::getEditForm($id, $fields);
22 22
 		$class = $this->sanitiseClassName($this->modelClass);
23
-		$grid   = $form->Fields()->fieldByName($class);
24
-		$grid->getConfig()->addComponent( new GridFieldSortableRows( 'Priority' ) );
23
+		$grid = $form->Fields()->fieldByName($class);
24
+		$grid->getConfig()->addComponent(new GridFieldSortableRows('Priority'));
25 25
 		
26 26
 		return $form;
27 27
 	}
Please login to merge, or discard this patch.
code/logic/GridFieldExportAllAutomatedLinksButton.php 1 patch
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -3,29 +3,29 @@
 block discarded – undo
3 3
     class GridFieldExportAllAutomatedLinksButton extends GridFieldExportButton {
4 4
         public function generateExportFileData($gridField) {
5 5
             $separator = $this->csvSeparator;
6
-            $csvColumns =$gridField->getColumns();
6
+            $csvColumns = $gridField->getColumns();
7 7
             $fileData = '';
8
-            if($this->csvHasHeader) {
8
+            if ($this->csvHasHeader) {
9 9
                 $headers = array();
10
-                foreach($csvColumns as $columnSource => $columnHeader) {
10
+                foreach ($csvColumns as $columnSource => $columnHeader) {
11 11
                     $headers[] = (!is_string($columnHeader) && is_callable($columnHeader)) ? $columnSource : $columnHeader;
12 12
                 }
13
-                $fileData .= "\"" . implode("\"{$separator}\"", array_values($headers)) . "\"";
13
+                $fileData .= "\"".implode("\"{$separator}\"", array_values($headers))."\"";
14 14
                 $fileData .= "\n";
15 15
             }
16 16
             $items = $gridField->getList();
17 17
 
18
-            foreach($gridField->getConfig()->getComponents() as $component){
19
-                if($component instanceof GridFieldFilterHeader || $component instanceof GridFieldSortableHeader) {
18
+            foreach ($gridField->getConfig()->getComponents() as $component) {
19
+                if ($component instanceof GridFieldFilterHeader || $component instanceof GridFieldSortableHeader) {
20 20
                     $items = $component->getManipulatedData($gridField, $items);
21 21
                 }
22 22
             }
23
-            foreach($items->limit(null) as $item) {
23
+            foreach ($items->limit(null) as $item) {
24 24
                 $columnData = array();
25
-                foreach($csvColumns as $columnSource => $columnHeader) {
26
-                    $value = ( $item->hasMethod( $columnHeader ) ) ? $item->$columnHeader() : $item->$columnHeader;
25
+                foreach ($csvColumns as $columnSource => $columnHeader) {
26
+                    $value = ($item->hasMethod($columnHeader)) ? $item->$columnHeader() : $item->$columnHeader;
27 27
                     $value = str_replace(array("\r", "\n"), "\n", $value);
28
-                    $columnData[] = '"' . str_replace('"', '\"', $value) . '"';
28
+                    $columnData[] = '"'.str_replace('"', '\"', $value).'"';
29 29
                 }
30 30
                 $fileData .= implode($separator, $columnData);
31 31
                 $fileData .= "\n";
Please login to merge, or discard this patch.
code/logic/GridFieldPrintAllAutomatedLinksButton.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -4,9 +4,9 @@  discard block
 block discarded – undo
4 4
         public function generatePrintData(GridField $gridField) {
5 5
             $printColumns = $this->getPrintColumnsForGridField($gridField);
6 6
             $header = null;
7
-            if($this->printHasHeader) {
7
+            if ($this->printHasHeader) {
8 8
                 $header = new ArrayList();
9
-                foreach($printColumns as $field => $label){
9
+                foreach ($printColumns as $field => $label) {
10 10
                     $header->push(new ArrayData(array(
11 11
                         "CellString" => $label,
12 12
                         )));
@@ -15,9 +15,9 @@  discard block
 block discarded – undo
15 15
 
16 16
             $items = $gridField->getList();
17 17
             $itemRows = new ArrayList();
18
-            foreach($items as $item) {
18
+            foreach ($items as $item) {
19 19
                 $itemRow = new ArrayList();
20
-                foreach($printColumns as $field => $label) {
20
+                foreach ($printColumns as $field => $label) {
21 21
                     $value = $gridField->getDataFieldValue($item, $field);
22 22
                     $itemRow->push(new ArrayData(array(
23 23
                         "CellString" => $value,
Please login to merge, or discard this patch.
code/dataobjects/AutomatedLink.php 1 patch
Spacing   +29 added lines, -29 removed lines patch added patch discarded remove patch
@@ -43,9 +43,9 @@  discard block
 block discarded – undo
43 43
         'Page' => 'SiteTree'
44 44
     );
45 45
 
46
-    private static $summary_fields    = array( 'Phrase', 'PointsTo' );
47
-    private static $searchable_fields = array( 'Phrase' );
48
-    private static $singular_name	  = 'Automated Link';
46
+    private static $summary_fields    = array('Phrase', 'PointsTo');
47
+    private static $searchable_fields = array('Phrase');
48
+    private static $singular_name = 'Automated Link';
49 49
     private static $plural_name	      = 'Automated Links';
50 50
     private static $parsableFields    = array();
51 51
 
@@ -54,7 +54,7 @@  discard block
 block discarded – undo
54 54
      *
55 55
      * @return string
56 56
      */
57
-    public function PointsTo(){
57
+    public function PointsTo() {
58 58
         return $this->Page()->Link();
59 59
     }
60 60
 
@@ -63,7 +63,7 @@  discard block
 block discarded – undo
63 63
      *
64 64
      * @return string
65 65
      */
66
-    public function Title(){
66
+    public function Title() {
67 67
         return $this->Phrase;
68 68
     }
69 69
 
@@ -72,23 +72,23 @@  discard block
 block discarded – undo
72 72
      *
73 73
      * @return String
74 74
      */
75
-    public function forTemplate(){
75
+    public function forTemplate() {
76 76
         return $this->getHTML();
77 77
     }
78 78
 
79
-    public function canView( $member = false ){
79
+    public function canView($member = false) {
80 80
         return Permission::check('AUTOMATEDLINK_VIEW');
81 81
     }
82 82
 
83
-    public function canEdit( $member = false ){
83
+    public function canEdit($member = false) {
84 84
         return Permission::check('AUTOMATEDLINK_EDIT');
85 85
     }
86 86
 
87
-    public function canDelete( $member = false ){
87
+    public function canDelete($member = false) {
88 88
         return Permission::check('AUTOMATEDLINK_DELETE');
89 89
     }
90 90
 
91
-    public function canCreate( $member = false ){
91
+    public function canCreate($member = false) {
92 92
         return Permission::check('AUTOMATEDLINK_CREATE');
93 93
     }
94 94
 
@@ -101,12 +101,12 @@  discard block
 block discarded – undo
101 101
        );
102 102
      }
103 103
 
104
-	public function requireDefaultRecords(){
104
+	public function requireDefaultRecords() {
105 105
 		parent::requireDefaultRecords();
106 106
 
107 107
 		// Update all links to redirector pages during dev/build
108
-		foreach( self::get() as $link ) {
109
-		    $link->CheckAndUpdateDestination( true );
108
+		foreach (self::get() as $link) {
109
+		    $link->CheckAndUpdateDestination(true);
110 110
 		}
111 111
 	}
112 112
 
@@ -207,15 +207,15 @@  discard block
 block discarded – undo
207 207
 	 * @Boolean $write - Write the changes if any
208 208
 	 * @return void
209 209
 	 */
210
-	public function CheckAndUpdateDestination( $write = false ){
210
+	public function CheckAndUpdateDestination($write = false) {
211 211
 		$this->extend('beforeCheckAndUpdateDestination', $write);
212 212
 
213
-		if( $this->PageID && $this->Page() &&
213
+		if ($this->PageID && $this->Page() &&
214 214
 			$this->Page()->ClassName == 'RedirectorPage' &&
215
-			$this->Page()->LinkToID && $this->Page()->RedirectionType == 'Internal' )
215
+			$this->Page()->LinkToID && $this->Page()->RedirectionType == 'Internal')
216 216
 		{
217 217
 			$this->PageID = $this->Page()->LinkToID;
218
-			if( $write ) {
218
+			if ($write) {
219 219
 			    $this->write();
220 220
 			}
221 221
 		}
@@ -245,8 +245,8 @@  discard block
 block discarded – undo
245 245
      * @param ContentController $controller
246 246
      * @return Boolean
247 247
      */
248
-    public function canBeAdded( ContentController $controller ){
249
-        return ( $this->SelfLinking || $controller->ID != $this->PageID );
248
+    public function canBeAdded(ContentController $controller) {
249
+        return ($this->SelfLinking || $controller->ID != $this->PageID);
250 250
     }
251 251
 
252 252
     /**
@@ -255,20 +255,20 @@  discard block
 block discarded – undo
255 255
      * @param string $html
256 256
      * @return DOMDocument
257 257
      */
258
-    public static function constructDOMDocument($html){
259
-        if( class_exists( 'HTML5_Parser' ) ){
260
-            $html5 = HTML5_Parser::parse( $html );
261
-            if($html5 instanceof DOMNodeList){
258
+    public static function constructDOMDocument($html) {
259
+        if (class_exists('HTML5_Parser')) {
260
+            $html5 = HTML5_Parser::parse($html);
261
+            if ($html5 instanceof DOMNodeList) {
262 262
                 $dom = new DOMDocument();
263
-                while($html5->length > 0) {
263
+                while ($html5->length > 0) {
264 264
                     $dom->appendChild($html5->item(0));
265 265
                 }
266
-            }else{
266
+            }else {
267 267
                 $dom = $html5;
268 268
             }
269
-        } else{
269
+        }else {
270 270
             $dom = new DOMDocument();
271
-            $dom->loadHTML( $html );
271
+            $dom->loadHTML($html);
272 272
         }
273 273
 
274 274
         return $dom;
@@ -280,9 +280,9 @@  discard block
 block discarded – undo
280 280
      * @param string $class
281 281
      * @return array
282 282
      */
283
-    public static function getAllDatabaseFields($class){
283
+    public static function getAllDatabaseFields($class) {
284 284
         $fields = array();
285
-        foreach (ClassInfo::ancestry($class, true) as $ancestor){
285
+        foreach (ClassInfo::ancestry($class, true) as $ancestor) {
286 286
             $fields = array_merge($fields, (array) DataObject::database_fields($ancestor));
287 287
         }
288 288
         return $fields;
Please login to merge, or discard this patch.
code/reports/AutomatedLinkReport.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  * Automated Link Report is a report that lists all automated
8 8
  * links and how they affect the website
9 9
  */
10
-class AutomatedLinkReport extends SS_Report{
10
+class AutomatedLinkReport extends SS_Report {
11 11
 
12 12
     protected $title       = 'Automated Link Report';
13 13
     protected $description = 'Shows a list of all automated links and how they affect the site';
@@ -33,8 +33,8 @@  discard block
 block discarded – undo
33 33
         );
34 34
     }
35 35
 
36
-    public function sourceRecords(){
37
-        if( !Config::inst()->get( $this->class, 'run_in_realtime' ) ) {
36
+    public function sourceRecords() {
37
+        if (!Config::inst()->get($this->class, 'run_in_realtime')) {
38 38
             return AutomatedLinkPageResult::get();
39 39
         }
40 40
 
Please login to merge, or discard this patch.
code/dataobjects/GlobalAutoLinkSettings.php 1 patch
Spacing   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -14,9 +14,9 @@  discard block
 block discarded – undo
14 14
  * @property string AddTo
15 15
  * @property string CrawlID
16 16
  */
17
-class GlobalAutoLinkSettings extends DataObject{
17
+class GlobalAutoLinkSettings extends DataObject {
18 18
 
19
-	public static $enabled  = true;
19
+	public static $enabled = true;
20 20
     public static $encoding = 'UTF-8';
21 21
 
22 22
 	private static $db = array(
@@ -42,8 +42,8 @@  discard block
 block discarded – undo
42 42
      *
43 43
      * @return array
44 44
      */
45
-	public function ExcludeTags(){
46
-		return array_unique( explode( ',', str_replace( ' ', '', $this->ExcludeTags ).',a,img,iframe,video,object' ) );
45
+	public function ExcludeTags() {
46
+		return array_unique(explode(',', str_replace(' ', '', $this->ExcludeTags).',a,img,iframe,video,object'));
47 47
 	}
48 48
 
49 49
     /**
@@ -51,19 +51,19 @@  discard block
 block discarded – undo
51 51
      *
52 52
      * @return array
53 53
      */
54
-	public function IncludeInFields(){
55
-		return explode( ',', str_replace( ' ', '', $this->IncludeIn ) );
54
+	public function IncludeInFields() {
55
+		return explode(',', str_replace(' ', '', $this->IncludeIn));
56 56
 	}
57 57
 
58 58
     public function requireDefaultRecords() {
59 59
         $hasData = self::get()->first();
60
-        if(!$hasData) {
60
+        if (!$hasData) {
61 61
             $obj = self::create(self::$default_create_config);
62 62
             $obj->CrawlID = $this->createCrawlID();
63 63
             $obj->write();
64
-            DB::alteration_message("Added default Global Auto Link Settings","created");
65
-        } else{
66
-            if(!$hasData->CrawlID){
64
+            DB::alteration_message("Added default Global Auto Link Settings", "created");
65
+        }else {
66
+            if (!$hasData->CrawlID) {
67 67
                 $hasData->CrawlID = $this->createCrawlID();
68 68
                 $hasData->write();
69 69
             }
@@ -96,25 +96,25 @@  discard block
 block discarded – undo
96 96
      *
97 97
      * @return array
98 98
      */
99
-        public function AllowedIn(){
100
-        $classes = array_values( ClassInfo::subclassesFor( 'SiteTree' ) );
101
-        if( !$this->AddTo ) return $classes;
99
+        public function AllowedIn() {
100
+        $classes = array_values(ClassInfo::subclassesFor('SiteTree'));
101
+        if (!$this->AddTo) return $classes;
102 102
 
103
-        $sanitized = explode( ',', str_replace( ' ', '', strtolower( $this->AddTo ) ) );
103
+        $sanitized = explode(',', str_replace(' ', '', strtolower($this->AddTo)));
104 104
         $len       = count($sanitized);
105 105
 
106
-        for( $x = 0; $x < $len; $x++ ){
106
+        for ($x = 0; $x < $len; $x++) {
107 107
             $found = false;
108 108
 
109
-            foreach( $classes as $class ){
110
-                if( strtolower( $class ) === $sanitized[$x] ){
109
+            foreach ($classes as $class) {
110
+                if (strtolower($class) === $sanitized[$x]) {
111 111
                     $sanitized[$x] = $class;
112 112
                     $found = true;
113 113
                     break 1;
114 114
                 }
115 115
             }
116 116
 
117
-            if( !$found ) unset( $sanitized[$x] );
117
+            if (!$found) unset($sanitized[$x]);
118 118
         }
119 119
 
120 120
         return (array) $sanitized;
Please login to merge, or discard this patch.
code/extenstions/SEOToolboxControllerExtension.php 1 patch
Spacing   +54 added lines, -54 removed lines patch added patch discarded remove patch
@@ -18,12 +18,12 @@  discard block
 block discarded – undo
18 18
     private $excludeTags    = array();
19 19
     private $maxLinks       = 0;
20 20
 
21
-    public function index(){
21
+    public function index() {
22 22
         $this->addAutomatedLinks();
23 23
 
24 24
         // If we have a crawl request check the CrawlID so we're sure we didn't hit another SS site running our module
25
-        if( $crawl_id = $this->owner->request->getHeader('X-Crawl-Id') ){
26
-            return( $crawl_id == GlobalAutoLinkSettings::get_current()->CrawlID )
25
+        if ($crawl_id = $this->owner->request->getHeader('X-Crawl-Id')) {
26
+            return($crawl_id == GlobalAutoLinkSettings::get_current()->CrawlID)
27 27
                 ? $this->crawl_response()
28 28
                 : $this->owner->redirect(SEOTestSiteTreeController::getPermissionDeniedPage()->Link());
29 29
         }
@@ -31,15 +31,15 @@  discard block
 block discarded – undo
31 31
         return array();
32 32
     }
33 33
 
34
-    private function crawl_response(){
34
+    private function crawl_response() {
35 35
         // Encoded version to detect which fields are being used
36 36
         $customize = array();
37 37
         $dbFields  = Config::inst()->get($this->owner->ClassName, 'db');
38
-        if(is_array($dbFields)) {
39
-            foreach ( $dbFields as $field => $type) {
38
+        if (is_array($dbFields)) {
39
+            foreach ($dbFields as $field => $type) {
40 40
                 if (strtolower($type) == 'htmltext') {
41 41
                     $data = ($this->owner->hasMethod($field)) ? $this->owner->$field() : $this->owner->$field;
42
-                    if($data){
42
+                    if ($data) {
43 43
                         $tmp = new HTMLText('tmp');
44 44
                         $tmp->setValue($data);
45 45
                         $data = base64_encode($tmp->forTemplate());
@@ -90,31 +90,31 @@  discard block
 block discarded – undo
90 90
      *
91 91
      * @return void
92 92
      */
93
-    public function addAutomatedLinks(){
94
-        if( GlobalAutoLinkSettings::$enabled && $this->owner->class != 'RedirectorPage' ) {
93
+    public function addAutomatedLinks() {
94
+        if (GlobalAutoLinkSettings::$enabled && $this->owner->class != 'RedirectorPage') {
95 95
             $this->getSettings();
96
-            if( !$this->addLinks ) {
96
+            if (!$this->addLinks) {
97 97
                 return;
98 98
             }
99 99
 
100
-            foreach( $this->getSettings()->IncludeInFields() as $field ){
100
+            foreach ($this->getSettings()->IncludeInFields() as $field) {
101 101
                 // Check that the field provided by user exists in this object, is of type HTMLText and has content
102
-                if( AutomatedLink::isFieldParsable( $this->owner->data(), $field ) ){
102
+                if (AutomatedLink::isFieldParsable($this->owner->data(), $field)) {
103 103
 
104 104
                     // Create dummy object so we can parse the HTML
105
-                    $dummy = new HTMLText( $field );
106
-                    $dummy->setValue( $this->owner->$field );
105
+                    $dummy = new HTMLText($field);
106
+                    $dummy->setValue($this->owner->$field);
107 107
                     // Create DOMDocument Object
108
-                    $content = mb_convert_encoding( $dummy->forTemplate(), 'html-entities', GlobalAutoLinkSettings::$encoding );
108
+                    $content = mb_convert_encoding($dummy->forTemplate(), 'html-entities', GlobalAutoLinkSettings::$encoding);
109 109
                     $dom = AutomatedLink::constructDOMDocument($content);
110 110
 
111 111
                     // Check current link count and if it's already exceeded do nothing
112
-                    $this->linkCount += (int) $dom->getElementsByTagName( 'a' )->length;
113
-                    if( $this->linkCount >= $this->maxLinks ) {
112
+                    $this->linkCount += (int) $dom->getElementsByTagName('a')->length;
113
+                    if ($this->linkCount >= $this->maxLinks) {
114 114
                         return;
115 115
                     }
116 116
 
117
-                    $parsed = $this->parseField( $dom, $field );
117
+                    $parsed = $this->parseField($dom, $field);
118 118
                     $this->owner->data()->$field = $parsed;
119 119
                     $this->owner->$field         = $parsed;
120 120
                 }
@@ -130,19 +130,19 @@  discard block
 block discarded – undo
130 130
      * @param array $hash_tags
131 131
      * @return array
132 132
      */
133
-    private function hashTags( DOMDocument $html, $hash_tags ){
133
+    private function hashTags(DOMDocument $html, $hash_tags) {
134 134
         $excluded = array();
135
-        foreach( $hash_tags as $eTag ){
136
-            while( $tags = $html->getElementsByTagName( $eTag ) ){
137
-                if( !$tags->length ) break 1;
138
-                $tag	= $tags->item(0);
139
-                $value  = $html->saveHTML( $tag );
140
-                $key    = (string) crc32( $value );
135
+        foreach ($hash_tags as $eTag) {
136
+            while ($tags = $html->getElementsByTagName($eTag)) {
137
+                if (!$tags->length) break 1;
138
+                $tag = $tags->item(0);
139
+                $value  = $html->saveHTML($tag);
140
+                $key    = (string) crc32($value);
141 141
 
142 142
                 // Convert back children nodes of this node if they were already hashed
143
-                $excluded[$key] = str_replace( array_keys( $excluded ), array_values( $excluded ), $value );
143
+                $excluded[$key] = str_replace(array_keys($excluded), array_values($excluded), $value);
144 144
 
145
-                $tag->parentNode->replaceChild( $html->createTextNode( $key ), $tag );
145
+                $tag->parentNode->replaceChild($html->createTextNode($key), $tag);
146 146
             }
147 147
         }
148 148
 
@@ -157,38 +157,38 @@  discard block
 block discarded – undo
157 157
      * @param string $content
158 158
      * @return array
159 159
      */
160
-    public function addLinkToContent(AutomatedLink $link, &$content){
160
+    public function addLinkToContent(AutomatedLink $link, &$content) {
161 161
         $links  = array();
162
-        $max    = (int) ( $link->MaxLinksPerPage > 0 ) ? $link->MaxLinksPerPage : PHP_INT_MAX;
163
-        $escape = (string) preg_quote( $link->Phrase, '/' );
164
-        $regex  = (string) ( $link->CaseSensitive ) ? "/(\b{$escape}\b)/" : "/(\b{$escape}\b)/i";
162
+        $max    = (int) ($link->MaxLinksPerPage > 0) ? $link->MaxLinksPerPage : PHP_INT_MAX;
163
+        $escape = (string) preg_quote($link->Phrase, '/');
164
+        $regex  = (string) ($link->CaseSensitive) ? "/(\b{$escape}\b)/" : "/(\b{$escape}\b)/i";
165 165
 
166 166
         // Count the matches
167
-        preg_match_all( $regex, $content, $count );
168
-        $count = ( is_array( $count ) && isset( $count[0] ) ) ? count( $count[0] ) : 0;
169
-        if( $count < 1 ) $links;
167
+        preg_match_all($regex, $content, $count);
168
+        $count = (is_array($count) && isset($count[0])) ? count($count[0]) : 0;
169
+        if ($count < 1) $links;
170 170
 
171
-        if( isset( $this->maxLinksPerPage[ $link->ID ] ) ) {
171
+        if (isset($this->maxLinksPerPage[$link->ID])) {
172 172
             $max -= $this->maxLinksPerPage[$link->ID];
173
-        } else {
173
+        }else {
174 174
             $this->maxLinksPerPage[$link->ID] = 0;
175 175
         }
176 176
 
177
-        for( $x = 0; $x < $count; $x++ ){
177
+        for ($x = 0; $x < $count; $x++) {
178 178
             // Stop adding links if we reached the link or page limit
179
-            if( $x >= $max || $this->linkCount >= $this->maxLinks ) break;
179
+            if ($x >= $max || $this->linkCount >= $this->maxLinks) break;
180 180
 
181 181
             // Check if there is anything else to replace else stop
182
-            preg_match( $regex, $content, $match );
183
-            if( !is_array( $match ) || !count( $match ) ) break;
182
+            preg_match($regex, $content, $match);
183
+            if (!is_array($match) || !count($match)) break;
184 184
 
185
-            if( !$html = (string) $link->getHTML( $match[0] ) ) continue;
186
-            $key            = (string) crc32( $html );
187
-            $links[ $key ]  = (string) $html;
185
+            if (!$html = (string) $link->getHTML($match[0])) continue;
186
+            $key            = (string) crc32($html);
187
+            $links[$key]  = (string) $html;
188 188
 
189
-            $content = preg_replace( $regex, $key, $content, 1 );
189
+            $content = preg_replace($regex, $key, $content, 1);
190 190
             $this->linkCount++;
191
-            $this->maxLinksPerPage[ $link->ID ]++;
191
+            $this->maxLinksPerPage[$link->ID]++;
192 192
         }
193 193
 
194 194
         return $links;
@@ -201,24 +201,24 @@  discard block
 block discarded – undo
201 201
      * @param String $field
202 202
      * @return string
203 203
      */
204
-    private function parseField( DOMDocument $html, $field ){
205
-        $this->owner->extend( 'beforeParseField', $html, $field );
204
+    private function parseField(DOMDocument $html, $field) {
205
+        $this->owner->extend('beforeParseField', $html, $field);
206 206
 
207 207
         // Remove Tags from Content we wown't be using
208 208
         $excluded   = $this->hashTags($html, $this->excludeTags);
209
-        $body       = (string)$html->saveHTML( $html->getElementsByTagName('body')->item(0) );
210
-        $content    = preg_replace( array( '/\<body\>/is', '/\<\/body\>/is' ), '', $body, 1 );
209
+        $body       = (string) $html->saveHTML($html->getElementsByTagName('body')->item(0));
210
+        $content    = preg_replace(array('/\<body\>/is', '/\<\/body\>/is'), '', $body, 1);
211 211
 
212
-        foreach( AutomatedLink::get()->sort('Priority') as $link){
213
-            if( $this->linkCount < $this->maxLinks && $link->canBeAdded( $this->owner, $field ) ) {
212
+        foreach (AutomatedLink::get()->sort('Priority') as $link) {
213
+            if ($this->linkCount < $this->maxLinks && $link->canBeAdded($this->owner, $field)) {
214 214
                 $links = $this->addLinkToContent($link, $content);
215
-                if( is_array($links) && count($links) > 0 ) {
216
-                    $excluded = $excluded + $links;
215
+                if (is_array($links) && count($links) > 0) {
216
+                    $excluded = $excluded+$links;
217 217
                 }
218 218
             }
219 219
         }
220 220
 
221 221
         // Re-add the excluded Tags
222
-        return str_replace( array_keys( $excluded ), array_values( $excluded ), $content );
222
+        return str_replace(array_keys($excluded), array_values($excluded), $content);
223 223
     }
224 224
 }
Please login to merge, or discard this patch.
_config.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -6,15 +6,15 @@
 block discarded – undo
6 6
  *
7 7
  */
8 8
 
9
-define( 'SEOTOOLBOX_DIR', str_replace( Director::baseFolder().'/', '', __DIR__ ) );
9
+define('SEOTOOLBOX_DIR', str_replace(Director::baseFolder().'/', '', __DIR__));
10 10
 
11 11
 Config::inst()->update('SEOToolboxAdmin', 'menu_icon', SEOTOOLBOX_DIR.'/code/admin/icon/seotoolbox-icon.png');
12
-Config::inst()->update('LeftAndMain','extra_requirements_javascript', array(SEOTOOLBOX_DIR.'/js/seo_page_analyzer.js'));
13
-Config::inst()->update('LeftAndMain','extra_requirements_css', array(SEOTOOLBOX_DIR.'/css/seo_page_analyzer.css'));
12
+Config::inst()->update('LeftAndMain', 'extra_requirements_javascript', array(SEOTOOLBOX_DIR.'/js/seo_page_analyzer.js'));
13
+Config::inst()->update('LeftAndMain', 'extra_requirements_css', array(SEOTOOLBOX_DIR.'/css/seo_page_analyzer.css'));
14 14
 
15 15
 CMSMenu::add_link('seotest', 'Run Crawler', '/seotest', 9, array('target' => '_blank'));
16 16
 Requirements::customCSS('.icon.icon-16.icon-seotest{background:url('.SEOTOOLBOX_DIR.'/code/admin/icon/crawl-icon.png)}');
17 17
 
18
-if(Director::is_cli()){
18
+if (Director::is_cli()) {
19 19
     Config::inst()->update('Director', 'environment_type', 'dev');
20 20
 }
Please login to merge, or discard this patch.
tests/AutomatedLinkTest.php 1 patch
Spacing   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -13,8 +13,8 @@  discard block
 block discarded – undo
13 13
     /**
14 14
      * Test that links are included in the content field
15 15
      */
16
-    public function testInsertion(){
17
-        $this->objFromFixture('AutomatedLink','link');
16
+    public function testInsertion() {
17
+        $this->objFromFixture('AutomatedLink', 'link');
18 18
         $page   = $this->createPage('<p>Checking if phrase is replaced</p>');
19 19
         $link   = $this->getLinkFromPage($page);
20 20
         $this->assertTrue($link->nodeValue === 'phrase', 'Link wasn\'t created');
@@ -23,41 +23,41 @@  discard block
 block discarded – undo
23 23
     /**
24 24
      * Test the individual properties of the automated link
25 25
      */
26
-    public function testProperties(){
27
-        $this->objFromFixture('AutomatedLink','link2');
26
+    public function testProperties() {
27
+        $this->objFromFixture('AutomatedLink', 'link2');
28 28
 
29 29
         $page   = self::createPage('<p>Checking if properties is with correct props</p>');
30 30
         $link   = self::getLinkFromPage($page);
31 31
 
32
-        $this->assertTrue( $link->nodeValue === 'properties', 'Phrase did not match' );
33
-        $this->assertTrue( $link->getAttribute('title') === 'test title', 'Title did not match' );
34
-        $this->assertTrue( $link->getAttribute('href') === '#test-anchor', 'Anchor did not match' );
35
-        $this->assertTrue( $link->getAttribute('target') === '_blank', 'Target did not match' );
36
-        $this->assertTrue( $link->getAttribute('rel') === 'nofollow', 'Rel did not match' );
32
+        $this->assertTrue($link->nodeValue === 'properties', 'Phrase did not match');
33
+        $this->assertTrue($link->getAttribute('title') === 'test title', 'Title did not match');
34
+        $this->assertTrue($link->getAttribute('href') === '#test-anchor', 'Anchor did not match');
35
+        $this->assertTrue($link->getAttribute('target') === '_blank', 'Target did not match');
36
+        $this->assertTrue($link->getAttribute('rel') === 'nofollow', 'Rel did not match');
37 37
     }
38 38
 
39 39
     /**
40 40
      * Test that the default properties match what we expect
41 41
      */
42
-    public function testDefaultProperties(){
43
-        $this->objFromFixture('AutomatedLink','link3');
42
+    public function testDefaultProperties() {
43
+        $this->objFromFixture('AutomatedLink', 'link3');
44 44
 
45 45
         $page   = self::createPage('<p>Checking if default is correct</p>');
46 46
         $link   = self::getLinkFromPage($page);
47 47
         $auto   = AutomatedLink::get()->find('Phrase', 'default');
48 48
 
49
-        $this->assertTrue( $link->nodeValue === 'default', 'Phrase did not match' );
50
-        $this->assertTrue( $link->getAttribute('title') === '', 'Title did not match' );
51
-        $this->assertTrue( $link->getAttribute('href') === '#', 'href did not match' );
52
-        $this->assertTrue( $link->getAttribute('target') === '', 'Target did not match' );
53
-        $this->assertTrue( $link->getAttribute('rel') === '', 'Rel did not match' );
54
-        $this->assertTrue( (int) $link->getAttribute('data-id') === $auto->ID, 'data-id did not match' );
49
+        $this->assertTrue($link->nodeValue === 'default', 'Phrase did not match');
50
+        $this->assertTrue($link->getAttribute('title') === '', 'Title did not match');
51
+        $this->assertTrue($link->getAttribute('href') === '#', 'href did not match');
52
+        $this->assertTrue($link->getAttribute('target') === '', 'Target did not match');
53
+        $this->assertTrue($link->getAttribute('rel') === '', 'Rel did not match');
54
+        $this->assertTrue((int) $link->getAttribute('data-id') === $auto->ID, 'data-id did not match');
55 55
     }
56 56
 
57 57
     /**
58 58
      * Test that the default properties match what we expect
59 59
      */
60
-    public function testLimitFilter(){
60
+    public function testLimitFilter() {
61 61
         $page   = self::createPage('<p>Checking if default is created only twice. default default</p>');
62 62
         $dom    = self::getPageDOM($page);
63 63
         $links  = $dom->getElementsByTagName('a');
@@ -67,7 +67,7 @@  discard block
 block discarded – undo
67 67
     /**
68 68
      * Test that the default properties match what we expect
69 69
      */
70
-    public function testDisableFilter(){
70
+    public function testDisableFilter() {
71 71
         GlobalAutoLinkSettings::$enabled = false;
72 72
         $page   = self::createPage('<p>Checking if default is created at all when automated links are disabled.</p>');
73 73
         $links  = self::getLinksFromPage($page);
@@ -81,7 +81,7 @@  discard block
 block discarded – undo
81 81
      * @param SiteTree $page
82 82
      * @return DOMNameList
83 83
      */
84
-    public static function getLinksFromPage(SiteTree $page){
84
+    public static function getLinksFromPage(SiteTree $page) {
85 85
         $dom = self::getPageDOM($page);
86 86
         return $dom->getElementsByTagName('a');
87 87
     }
@@ -94,9 +94,9 @@  discard block
 block discarded – undo
94 94
      * @param SiteTree $page
95 95
      * @return DOMDocument
96 96
      */
97
-    public static function getLinkFromPage(SiteTree $page){
97
+    public static function getLinkFromPage(SiteTree $page) {
98 98
         $links = self::getLinksFromPage($page);
99
-        return ( $links->length != 1 ) ? new DOMElement() : $links->item(0);
99
+        return ($links->length != 1) ? new DOMElement() : $links->item(0);
100 100
     }
101 101
 
102 102
     /**
@@ -105,8 +105,8 @@  discard block
 block discarded – undo
105 105
      * @param string|null $content
106 106
      * @return Page
107 107
      */
108
-    public static function createPage($content=null){
109
-        $page = Page::create(array( 'Content' => $content ));
108
+    public static function createPage($content = null) {
109
+        $page = Page::create(array('Content' => $content));
110 110
         $page->write();
111 111
         return $page;
112 112
     }
@@ -117,7 +117,7 @@  discard block
 block discarded – undo
117 117
      * @param Page $page
118 118
      * @return DOMDocument
119 119
      */
120
-    public static function getPageDOM(Page $page){
120
+    public static function getPageDOM(Page $page) {
121 121
         $controller = Page_Controller::create($page);
122 122
         $controller->invokeWithExtensions('addAutomatedLinks');
123 123
         return AutomatedLink::constructDOMDocument($controller->Content);
Please login to merge, or discard this patch.