Completed
Push — master ( b1fd35...62c434 )
by Jean-Christophe
03:27
created
Ajax/semantic/html/content/view/ContentPartTrait.php 3 patches
Doc Comments   +5 added lines patch added patch discarded remove patch
@@ -7,6 +7,11 @@
 block discarded – undo
7 7
  * @property mixed $content
8 8
  */
9 9
 trait ContentPartTrait{
10
+
11
+	/**
12
+	 * @param \Ajax\semantic\html\elements\HtmlButtonGroups $element
13
+	 * @param string $partKey
14
+	 */
10 15
 	public function addElementInPart($element,$partKey,$before=false,$force=false){
11 16
 		$part=$this->getPart($partKey,null,$force);
12 17
 		if($part instanceof  HtmlSemDoubleElement){
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -6,24 +6,24 @@
 block discarded – undo
6 6
  * @author jc
7 7
  * @property mixed $content
8 8
  */
9
-trait ContentPartTrait{
10
-	public function addElementInPart($element,$partKey,$before=false,$force=false){
11
-		$part=$this->getPart($partKey,null,$force);
12
-		if($part instanceof  HtmlSemDoubleElement){
9
+trait ContentPartTrait {
10
+	public function addElementInPart($element, $partKey, $before=false, $force=false) {
11
+		$part=$this->getPart($partKey, null, $force);
12
+		if ($part instanceof  HtmlSemDoubleElement) {
13 13
 			$this->content[$partKey]=$part;
14
-			$part->addContent($element,$before);
14
+			$part->addContent($element, $before);
15 15
 		}
16 16
 		return $this;
17 17
 	}
18 18
 
19
-	public function getPart($partKey, $index=NULL,$force=false) {
19
+	public function getPart($partKey, $index=NULL, $force=false) {
20 20
 		if (\array_key_exists($partKey, $this->content)) {
21 21
 			if (isset($index))
22 22
 				return $this->content[$partKey][$index];
23 23
 			return $this->content[$partKey];
24 24
 		}
25
-		if($force){
26
-			return new HtmlSemDoubleElement($partKey."-".$this->identifier,"div",$partKey);
25
+		if ($force) {
26
+			return new HtmlSemDoubleElement($partKey."-".$this->identifier, "div", $partKey);
27 27
 		}
28 28
 		return NULL;
29 29
 	}
Please login to merge, or discard this patch.
Braces   +3 added lines, -2 removed lines patch added patch discarded remove patch
@@ -18,8 +18,9 @@
 block discarded – undo
18 18
 
19 19
 	public function getPart($partKey, $index=NULL,$force=false) {
20 20
 		if (\array_key_exists($partKey, $this->content)) {
21
-			if (isset($index))
22
-				return $this->content[$partKey][$index];
21
+			if (isset($index)) {
22
+							return $this->content[$partKey][$index];
23
+			}
23 24
 			return $this->content[$partKey];
24 25
 		}
25 26
 		if($force){
Please login to merge, or discard this patch.
Ajax/semantic/html/content/view/HtmlViewContent.php 3 patches
Doc Comments   +4 added lines patch added patch discarded remove patch
@@ -12,6 +12,10 @@
 block discarded – undo
12 12
 
13 13
 class HtmlViewContent extends HtmlSemDoubleElement {
14 14
 	use ContentPartTrait;
15
+
16
+	/**
17
+	 * @param string $identifier
18
+	 */
15 19
 	public function __construct($identifier, $content=array()) {
16 20
 		parent::__construct($identifier, "div", "content",[]);
17 21
 		$this->setContent($content);
Please login to merge, or discard this patch.
Spacing   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -13,11 +13,11 @@  discard block
 block discarded – undo
13 13
 class HtmlViewContent extends HtmlSemDoubleElement {
14 14
 	use ContentPartTrait;
15 15
 	public function __construct($identifier, $content=array()) {
16
-		parent::__construct($identifier, "div", "content",[]);
16
+		parent::__construct($identifier, "div", "content", []);
17 17
 		$this->setContent($content);
18 18
 	}
19 19
 
20
-	public function setContent($value){
20
+	public function setContent($value) {
21 21
 		if (\is_array($value)) {
22 22
 			$header=JArray::getValue($value, "header", 0);
23 23
 			$metas=JArray::getValue($value, "metas", 1);
@@ -27,24 +27,24 @@  discard block
 block discarded – undo
27 27
 			if (isset($image)) {
28 28
 				$this->addImage($image);
29 29
 			}
30
-			$this->addHeaderContent($header, $metas, $description,$extra);
30
+			$this->addHeaderContent($header, $metas, $description, $extra);
31 31
 		} else
32 32
 			$this->addContent($value);
33 33
 	}
34 34
 
35
-	public function addElement($content, $baseClass="",$part=NULL) {
35
+	public function addElement($content, $baseClass="", $part=NULL) {
36 36
 		$count=\sizeof($this->content);
37
-		$result=new HtmlViewContent("element-" . $count . "-" . $this->identifier, $content);
37
+		$result=new HtmlViewContent("element-".$count."-".$this->identifier, $content);
38 38
 		$result->setClass($baseClass);
39 39
 		$this->addContent($result);
40 40
 		return $result;
41 41
 	}
42 42
 
43 43
 	public function addMeta($value, $direction=Direction::LEFT) {
44
-		if (\array_key_exists("meta", $this->content) === false) {
45
-			$this->content["meta"]=new HtmlSemDoubleElement("meta-" . $this->identifier, "div", "meta", array ());
44
+		if (\array_key_exists("meta", $this->content)===false) {
45
+			$this->content["meta"]=new HtmlSemDoubleElement("meta-".$this->identifier, "div", "meta", array());
46 46
 		}
47
-		if ($direction === Direction::RIGHT) {
47
+		if ($direction===Direction::RIGHT) {
48 48
 			$value=new HtmlSemDoubleElement("", "span", "", $value);
49 49
 			$value->setFloated($direction);
50 50
 		}
@@ -53,8 +53,8 @@  discard block
 block discarded – undo
53 53
 	}
54 54
 
55 55
 	public function addExtra($value) {
56
-		if (\array_key_exists("extra", $this->content) === false) {
57
-			$this->content["extra"]=new HtmlSemDoubleElement("extra-" . $this->identifier, "div", "extra", array ());
56
+		if (\array_key_exists("extra", $this->content)===false) {
57
+			$this->content["extra"]=new HtmlSemDoubleElement("extra-".$this->identifier, "div", "extra", array());
58 58
 		}
59 59
 		$this->content["extra"]->addContent($value);
60 60
 		return $this->content["extra"];
@@ -75,15 +75,15 @@  discard block
 block discarded – undo
75 75
 	 * @param boolean $before
76 76
 	 * @return HtmlButtonGroups
77 77
 	 */
78
-	public function addContentButtons($elements=array(), $asIcons=false,$part="extra",$before=false){
79
-		$buttons=new HtmlButtonGroups("buttons-".$this->identifier,$elements,$asIcons);
80
-		$this->addElementInPart($buttons,$part, $before,true);
78
+	public function addContentButtons($elements=array(), $asIcons=false, $part="extra", $before=false) {
79
+		$buttons=new HtmlButtonGroups("buttons-".$this->identifier, $elements, $asIcons);
80
+		$this->addElementInPart($buttons, $part, $before, true);
81 81
 		return $buttons;
82 82
 	}
83 83
 
84 84
 	public function addMetas($metas) {
85 85
 		if (\is_array($metas)) {
86
-			foreach ( $metas as $meta ) {
86
+			foreach ($metas as $meta) {
87 87
 				$this->addMeta($meta);
88 88
 			}
89 89
 		} else
@@ -92,7 +92,7 @@  discard block
 block discarded – undo
92 92
 	}
93 93
 
94 94
 	public function addContentIcon($icon, $caption=NULL, $direction=Direction::LEFT) {
95
-		if ($direction === Direction::RIGHT) {
95
+		if ($direction===Direction::RIGHT) {
96 96
 			if (isset($caption)) {
97 97
 				$result=new HtmlSemDoubleElement("", "span", "", $caption);
98 98
 				$result->addIcon($icon);
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
 	}
111 111
 
112 112
 	public function addContentText($caption, $direction=Direction::LEFT) {
113
-		if ($direction === Direction::RIGHT) {
113
+		if ($direction===Direction::RIGHT) {
114 114
 			$result=new HtmlSemDoubleElement("", "span", "", $caption);
115 115
 			$this->addContent($result);
116 116
 			$result->setFloated($direction);
@@ -120,20 +120,20 @@  discard block
 block discarded – undo
120 120
 	}
121 121
 
122 122
 	public function addContentIcons($icons, $direction=Direction::LEFT) {
123
-		foreach ( $icons as $icon ) {
123
+		foreach ($icons as $icon) {
124 124
 			$this->addContentIcon($icon, NULL, $direction);
125 125
 		}
126 126
 		return $this;
127 127
 	}
128 128
 
129
-	public function addHeaderContent($header, $metas=array(), $description=NULL,$extra=NULL) {
130
-		if(isset($header))
129
+	public function addHeaderContent($header, $metas=array(), $description=NULL, $extra=NULL) {
130
+		if (isset($header))
131 131
 			$this->addElement($header, "header");
132 132
 		$this->addMetas($metas);
133 133
 		if (isset($description)) {
134 134
 			$this->addElement($description, "description");
135 135
 		}
136
-		if(isset($extra)){
136
+		if (isset($extra)) {
137 137
 			$this->addExtra($extra);
138 138
 		}
139 139
 		return $this;
Please login to merge, or discard this patch.
Braces   +15 added lines, -10 removed lines patch added patch discarded remove patch
@@ -28,8 +28,9 @@  discard block
 block discarded – undo
28 28
 				$this->addImage($image);
29 29
 			}
30 30
 			$this->addHeaderContent($header, $metas, $description,$extra);
31
-		} else
32
-			$this->addContent($value);
31
+		} else {
32
+					$this->addContent($value);
33
+		}
33 34
 	}
34 35
 
35 36
 	public function addElement($content, $baseClass="",$part=NULL) {
@@ -62,8 +63,9 @@  discard block
 block discarded – undo
62 63
 
63 64
 	public function addImage($src="", $alt="", $size=NULL) {
64 65
 		$image=new HtmlImg("img-", $src, $alt);
65
-		if (isset($size))
66
-			$image->setSize($size);
66
+		if (isset($size)) {
67
+					$image->setSize($size);
68
+		}
67 69
 		$this->content['image']=$image;
68 70
 		return $image;
69 71
 	}
@@ -86,8 +88,9 @@  discard block
 block discarded – undo
86 88
 			foreach ( $metas as $meta ) {
87 89
 				$this->addMeta($meta);
88 90
 			}
89
-		} else
90
-			$this->addMeta($metas);
91
+		} else {
92
+					$this->addMeta($metas);
93
+		}
91 94
 		return $this;
92 95
 	}
93 96
 
@@ -114,8 +117,9 @@  discard block
 block discarded – undo
114 117
 			$result=new HtmlSemDoubleElement("", "span", "", $caption);
115 118
 			$this->addContent($result);
116 119
 			$result->setFloated($direction);
117
-		} else
118
-			$result=$this->addContent($caption);
120
+		} else {
121
+					$result=$this->addContent($caption);
122
+		}
119 123
 		return $result;
120 124
 	}
121 125
 
@@ -127,8 +131,9 @@  discard block
 block discarded – undo
127 131
 	}
128 132
 
129 133
 	public function addHeaderContent($header, $metas=array(), $description=NULL,$extra=NULL) {
130
-		if(isset($header))
131
-			$this->addElement($header, "header");
134
+		if(isset($header)) {
135
+					$this->addElement($header, "header");
136
+		}
132 137
 		$this->addMetas($metas);
133 138
 		if (isset($description)) {
134 139
 			$this->addElement($description, "description");
Please login to merge, or discard this patch.
Ajax/service/JReflection.php 1 patch
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -3,25 +3,25 @@  discard block
 block discarded – undo
3 3
 namespace Ajax\service;
4 4
 
5 5
 class JReflection {
6
-	public static function shortClassName($object){
7
-		$classNameWithNamespace = get_class($object);
6
+	public static function shortClassName($object) {
7
+		$classNameWithNamespace=get_class($object);
8 8
 		return substr($classNameWithNamespace, strrpos($classNameWithNamespace, '\\')+1);
9 9
 	}
10 10
 
11
-	public static function jsonObject($classname){
11
+	public static function jsonObject($classname) {
12 12
 		$object=new $classname();
13
-		$class = new \ReflectionClass($classname);
13
+		$class=new \ReflectionClass($classname);
14 14
 		$methods=$class->getMethods(\ReflectionMethod::IS_PUBLIC);
15
-		foreach ($methods as $method){
15
+		foreach ($methods as $method) {
16 16
 			$name=$method->getName();
17
-			if(JString::startswith($name, "set")){
17
+			if (JString::startswith($name, "set")) {
18 18
 				$property=\lcfirst(JString::replaceAtFirst($name, "set", ""));
19 19
 				$value="__".$property."__";
20
-				try{
21
-					if($class->getProperty($property)!==null){
22
-						\call_user_func_array([$object,$name],[$value]);
20
+				try {
21
+					if ($class->getProperty($property)!==null) {
22
+						\call_user_func_array([$object, $name], [$value]);
23 23
 					}
24
-				}catch(\Exception $e){
24
+				}catch (\Exception $e) {
25 25
 					//Nothing to do
26 26
 				}
27 27
 			}
@@ -29,18 +29,18 @@  discard block
 block discarded – undo
29 29
 		return $object;
30 30
 	}
31 31
 
32
-	public static function callMethod($object,$callback,array $values){
33
-		return \call_user_func_array([$object,$callback],$values);
32
+	public static function callMethod($object, $callback, array $values) {
33
+		return \call_user_func_array([$object, $callback], $values);
34 34
 	}
35 35
 
36
-	public static function getterName($propertyName,$prefix="get"){
36
+	public static function getterName($propertyName, $prefix="get") {
37 37
 		return $prefix.\ucfirst($propertyName);
38 38
 	}
39 39
 
40
-	public static function callMethodFromAssociativeArray($object,$array,$methodPrefix="add"){
41
-		foreach ($array as $key=>$value){
42
-			if(\method_exists($object, $methodPrefix.\ucfirst($key))){
43
-				\call_user_func([$object,$methodPrefix.\ucfirst($key)],$value);
40
+	public static function callMethodFromAssociativeArray($object, $array, $methodPrefix="add") {
41
+		foreach ($array as $key=>$value) {
42
+			if (\method_exists($object, $methodPrefix.\ucfirst($key))) {
43
+				\call_user_func([$object, $methodPrefix.\ucfirst($key)], $value);
44 44
 			}
45 45
 		}
46 46
 	}
Please login to merge, or discard this patch.
Ajax/semantic/html/content/view/HtmlViewItem.php 2 patches
Spacing   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -16,14 +16,14 @@  discard block
 block discarded – undo
16 16
 abstract class HtmlViewItem extends HtmlSemDoubleElement {
17 17
 	use ContentPartTrait;
18 18
 
19
-	public function __construct($identifier,$baseClass,$content=NULL) {
19
+	public function __construct($identifier, $baseClass, $content=NULL) {
20 20
 		parent::__construct($identifier, "div", $baseClass);
21 21
 		$this->content=["content"=>new HtmlViewContent("content-".$this->identifier)];
22
-		if(isset($content))
22
+		if (isset($content))
23 23
 			$this->setContent($content);
24 24
 	}
25 25
 
26
-	public function setContent($value){
26
+	public function setContent($value) {
27 27
 		if (\is_array($value)) {
28 28
 			$image=JArray::getValue($value, "image", 0);
29 29
 			$content=JArray::getValue($value, "content", 1);
@@ -31,25 +31,25 @@  discard block
 block discarded – undo
31 31
 			if (isset($image)) {
32 32
 				$this->addImage($image);
33 33
 			}
34
-			if(isset($content))
34
+			if (isset($content))
35 35
 				$this->content["content"]->setContent($content);
36
-			if(isset($extra))
36
+			if (isset($extra))
37 37
 				$this->addExtraContent($extra);
38 38
 		}
39 39
 	}
40 40
 
41 41
 	private function createContent($content, $baseClass="content") {
42 42
 		$count=\sizeof($this->content);
43
-		$result=new HtmlViewContent("content-" . $count . "-" . $this->identifier, $content);
43
+		$result=new HtmlViewContent("content-".$count."-".$this->identifier, $content);
44 44
 		$result->setClass($baseClass);
45 45
 		return $result;
46 46
 	}
47 47
 
48 48
 	private function addElementIn($key, $element) {
49
-		if (\array_key_exists($key, $this->content) === false) {
49
+		if (\array_key_exists($key, $this->content)===false) {
50 50
 			$this->content[$key]=[];
51 51
 		}
52
-		if($this->content[$key] instanceof HtmlViewContent)
52
+		if ($this->content[$key] instanceof HtmlViewContent)
53 53
 			$this->content[$key]->addElement($element);
54 54
 		else
55 55
 			$this->content[$key][]=$element;
@@ -59,25 +59,25 @@  discard block
 block discarded – undo
59 59
 
60 60
 	public function addHeader($header, $niveau=4, $type="page") {
61 61
 		if (!$header instanceof HtmlHeader) {
62
-			$header=new HtmlHeader("header-" . $this->identifier, $niveau, $header, $type);
62
+			$header=new HtmlHeader("header-".$this->identifier, $niveau, $header, $type);
63 63
 		}
64
-		return $this->addElementIn("header",$this->createContent($header));
64
+		return $this->addElementIn("header", $this->createContent($header));
65 65
 	}
66 66
 
67 67
 	public function addImage($image, $title="") {
68 68
 		if (!$image instanceof HtmlImage) {
69
-			$image=new HtmlImage("image-" . $this->identifier, $image, $title);
69
+			$image=new HtmlImage("image-".$this->identifier, $image, $title);
70 70
 		}
71 71
 		$image->setClass("ui image");
72
-		return $this->content["image"]= $image;
72
+		return $this->content["image"]=$image;
73 73
 	}
74 74
 
75
-	public function addReveal($visibleContent, $hiddenContent=NULL, $type=RevealType::FADE, $attributeType=NULL,$key="extra-content") {
75
+	public function addReveal($visibleContent, $hiddenContent=NULL, $type=RevealType::FADE, $attributeType=NULL, $key="extra-content") {
76 76
 		$reveal=$visibleContent;
77 77
 		if (!$visibleContent instanceof HtmlReveal) {
78
-			$reveal=new HtmlReveal("reveral-" . $this->identifier, $visibleContent, $hiddenContent, $type, $attributeType);
78
+			$reveal=new HtmlReveal("reveral-".$this->identifier, $visibleContent, $hiddenContent, $type, $attributeType);
79 79
 		}
80
-		return $this->content[$key]= $reveal;
80
+		return $this->content[$key]=$reveal;
81 81
 	}
82 82
 
83 83
 	public function addRevealImage($visibleContent, $hiddenContent=NULL, $type=RevealType::FADE, $attributeType=NULL) {
@@ -85,11 +85,11 @@  discard block
 block discarded – undo
85 85
 		if (!$visibleContent instanceof HtmlReveal) {
86 86
 			return $this->addReveal(new HtmlImage("", $visibleContent), new HtmlImage("", $hiddenContent), $type, $attributeType);
87 87
 		}
88
-		return $this->content["image"]= $reveal;
88
+		return $this->content["image"]=$reveal;
89 89
 	}
90 90
 
91 91
 	public function addExtraContent($content=array()) {
92
-		return $this->content["extra-content"]= $this->createContent($content, "extra content");
92
+		return $this->content["extra-content"]=$this->createContent($content, "extra content");
93 93
 	}
94 94
 
95 95
 	/*public function addContent($content=array(), $before=false) {
@@ -107,23 +107,23 @@  discard block
 block discarded – undo
107 107
 	 * @param boolean $before
108 108
 	 * @return HtmlButtonGroups
109 109
 	 */
110
-	public function addContentButtons($elements=array(), $asIcons=false,$part="extra",$before=false){
111
-		return $this->content["content"]->addContentButtons($elements,$asIcons,$part, $before);
110
+	public function addContentButtons($elements=array(), $asIcons=false, $part="extra", $before=false) {
111
+		return $this->content["content"]->addContentButtons($elements, $asIcons, $part, $before);
112 112
 	}
113 113
 
114 114
 
115 115
 
116
-	public function addItemHeaderContent($header, $metas=array(), $description=NULL,$extra=NULL) {
117
-		return $this->content["content"]->addHeaderContent($header, $metas, $description,$extra);
116
+	public function addItemHeaderContent($header, $metas=array(), $description=NULL, $extra=NULL) {
117
+		return $this->content["content"]->addHeaderContent($header, $metas, $description, $extra);
118 118
 	}
119 119
 
120 120
 	public function addItemContent($content=array()) {
121 121
 		$count=\sizeof($this->content);
122
-		return $this->addElementIn("content", new HtmlViewContent("content-" . $count . "-" . $this->identifier, $content));
122
+		return $this->addElementIn("content", new HtmlViewContent("content-".$count."-".$this->identifier, $content));
123 123
 	}
124 124
 
125 125
 	public function getItemContent() {
126
-		return $this->getPart("content",null,true);
126
+		return $this->getPart("content", null, true);
127 127
 	}
128 128
 
129 129
 	public function getItemExtraContent() {
@@ -145,13 +145,13 @@  discard block
 block discarded – undo
145 145
 	 * @see HtmlSemDoubleElement::compile()
146 146
 	 */
147 147
 	public function compile(JsUtils $js=NULL, &$view=NULL) {
148
-		$this->content=JArray::sortAssociative($this->content, ["header","image","content","extra-content"]);
148
+		$this->content=JArray::sortAssociative($this->content, ["header", "image", "content", "extra-content"]);
149 149
 		return parent::compile($js, $view);
150 150
 	}
151 151
 
152
-	public function asLink($href="",$target=NULL) {
152
+	public function asLink($href="", $target=NULL) {
153 153
 		$this->addToProperty("class", "link");
154
-		if ($href !== "") {
154
+		if ($href!=="") {
155 155
 			$this->setProperty("href", $href);
156 156
 			if (isset($target))
157 157
 				$this->setProperty("target", $target);
Please login to merge, or discard this patch.
Braces   +17 added lines, -12 removed lines patch added patch discarded remove patch
@@ -19,8 +19,9 @@  discard block
 block discarded – undo
19 19
 	public function __construct($identifier,$baseClass,$content=NULL) {
20 20
 		parent::__construct($identifier, "div", $baseClass);
21 21
 		$this->content=["content"=>new HtmlViewContent("content-".$this->identifier)];
22
-		if(isset($content))
23
-			$this->setContent($content);
22
+		if(isset($content)) {
23
+					$this->setContent($content);
24
+		}
24 25
 	}
25 26
 
26 27
 	public function setContent($value){
@@ -31,10 +32,12 @@  discard block
 block discarded – undo
31 32
 			if (isset($image)) {
32 33
 				$this->addImage($image);
33 34
 			}
34
-			if(isset($content))
35
-				$this->content["content"]->setContent($content);
36
-			if(isset($extra))
37
-				$this->addExtraContent($extra);
35
+			if(isset($content)) {
36
+							$this->content["content"]->setContent($content);
37
+			}
38
+			if(isset($extra)) {
39
+							$this->addExtraContent($extra);
40
+			}
38 41
 		}
39 42
 	}
40 43
 
@@ -49,10 +52,11 @@  discard block
 block discarded – undo
49 52
 		if (\array_key_exists($key, $this->content) === false) {
50 53
 			$this->content[$key]=[];
51 54
 		}
52
-		if($this->content[$key] instanceof HtmlViewContent)
53
-			$this->content[$key]->addElement($element);
54
-		else
55
-			$this->content[$key][]=$element;
55
+		if($this->content[$key] instanceof HtmlViewContent) {
56
+					$this->content[$key]->addElement($element);
57
+		} else {
58
+					$this->content[$key][]=$element;
59
+		}
56 60
 		return $element;
57 61
 	}
58 62
 
@@ -153,8 +157,9 @@  discard block
 block discarded – undo
153 157
 		$this->addToProperty("class", "link");
154 158
 		if ($href !== "") {
155 159
 			$this->setProperty("href", $href);
156
-			if (isset($target))
157
-				$this->setProperty("target", $target);
160
+			if (isset($target)) {
161
+							$this->setProperty("target", $target);
162
+			}
158 163
 		}
159 164
 		return $this;
160 165
 	}
Please login to merge, or discard this patch.