d_opencart_patch.xml (9238B)
1 <?xml version="1.0" encoding="utf-8"?> 2 <modification> 3 <name>d_opencart_patch</name> 4 <code>d_opencart_patch</code> 5 <description>Permission fixes in Opencart 3.x</description> 6 <version>3.1.6</version> 7 <author>Dreamvention</author> 8 <link>http://dreamvention.com</link> 9 <file path="admin/controller/user/user_permission.php"> 10 <operation error="skip"> 11 <search><![CDATA[$path[] = $file . '/*';]]></search> 12 <add position="after"><![CDATA[ 13 //d_opencart_patch.xml 1 14 $files[] = $file; 15 ]]></add> 16 </operation> 17 <operation error="skip"> 18 <search><![CDATA[$permission = substr($controller, 0, strrpos($controller, '.'));]]></search> 19 <add position="replace"><![CDATA[ 20 //d_opencart_patch.xml 2 21 $permission = (strrpos($controller, '.') !== false) ? substr($controller, 0, strrpos($controller, '.')) : $controller; 22 ]]></add> 23 </operation> 24 </file> 25 <file path="admin/controller/extension/installer.php"> 26 <operation error="skip"> 27 <search><![CDATA[$modification_info = $this->model_setting_modification->getModificationByCode($code);]]></search> 28 <add position="after"><![CDATA[ 29 //d_opencart_patch.xml 1 30 if (strpos($code, 'd_') === 0 && $modification_info) { 31 $this->model_setting_modification->deleteModification($modification_info['modification_id']); 32 $modification_info = false; 33 } 34 ]]></add> 35 </operation> 36 </file> 37 <file path="admin/model/setting/extension.php"> 38 <operation error="skip"> 39 <search><![CDATA[$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "extension_path` WHERE `extension_install_id` = '" . (int)$extension_install_id . "' ORDER BY `date_added` ASC");]]></search> 40 <add position="replace"><![CDATA[ 41 //d_opencart_patch.xml 1 42 $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "extension_install` WHERE `extension_install_id` = '" . (int)$extension_install_id . "'"); 43 44 $extension = $query->row; 45 46 if(isset($extension['filename']) && strpos($extension['filename'], '_compiled_')){ 47 48 49 $parts = explode('_compiled_', $extension['filename']); 50 $extension_name = $parts[0]; 51 $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "extension_path` WHERE `extension_install_id` = '" . (int)$extension_install_id . "' AND path LIKE '%".$this->db->escape($extension_name)."%' ORDER BY `date_added` ASC"); 52 }else{ 53 $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "extension_path` WHERE `extension_install_id` = '" . (int)$extension_install_id . "' ORDER BY `date_added` ASC"); 54 } 55 ]]></add> 56 </operation> 57 </file> 58 <file path="admin/model/setting/modification.php"> 59 <operation error="skip"> 60 <search><![CDATA[$this->db->query("DELETE FROM `" . DB_PREFIX . "modification` WHERE `extension_install_id` = '" . (int)$extension_install_id . "'");]]></search> 61 <add position="replace"><![CDATA[ 62 //d_opencart_patch.xml 1 63 $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "extension_install` WHERE `extension_install_id` = '" . (int)$extension_install_id . "'"); 64 65 $extension = $query->row; 66 67 if(isset($extension['filename']) && strpos($extension['filename'], '_compiled_') !== false){ 68 69 70 $parts = explode('_compiled_', $extension['filename']); 71 $extension_name = $parts[0]; 72 $this->db->query("DELETE FROM `" . DB_PREFIX . "modification` WHERE `extension_install_id` = '" . (int)$extension_install_id . "' AND `name` LIKE '%".$this->db->escape($extension_name)."%'"); 73 74 }else{ 75 $this->db->query("DELETE FROM `" . DB_PREFIX . "modification` WHERE `extension_install_id` = '" . (int)$extension_install_id . "'"); 76 } 77 ]]></add> 78 </operation> 79 </file> 80 <file path="admin/controller/marketplace/install.php"> 81 <operation error="skip"> 82 <search><![CDATA[$this->model_setting_extension->deleteExtensionInstall($extension_install_id);]]></search> 83 <add position="replace"><![CDATA[//d_opencart_patch.xml 1 moved down]]></add> 84 </operation> 85 </file> 86 <file path="admin/controller/marketplace/install.php"> 87 <operation error="skip"> 88 <search><![CDATA[$this->model_setting_modification->deleteModificationsByExtensionInstallId($extension_install_id);]]></search> 89 <add position="after"><![CDATA[ 90 //d_opencart_patch.xml 2 91 $this->model_setting_extension->deleteExtensionInstall($extension_install_id);]]></add> 92 </operation> 93 </file> 94 <file path="admin/controller/common/filemanager.php"> 95 <operation> 96 <search><![CDATA[$files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE);]]></search> 97 <add position="replace"><![CDATA[$files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,svg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE);]]></add> 98 </operation> 99 <operation> 100 <search><![CDATA['jpg',]]></search> 101 <add position="after"><![CDATA['svg',]]></add> 102 </operation> 103 <operation> 104 <search><![CDATA['image/jpeg',]]></search> 105 <add position="after"><![CDATA['image/svg+xml',]]></add> 106 </operation> 107 </file> 108 <file path="admin/view/template/common/filemanager.twig"> 109 <operation> 110 <search><![CDATA[<img src="{{ image.thumb }}" alt="{{ image.name }}" title="{{ image.name }}" />]]></search> 111 <add position="replace"><![CDATA[<img src="{{ image.thumb }}" alt="{{ image.name }}" title="{{ image.name }}" width="100" height="100" />]]></add> 112 </operation> 113 </file> 114 <file path="admin/view/template/common/header.twig"> 115 <operation> 116 <search><![CDATA[</header>]]></search> 117 <add position="before"><![CDATA[ 118 <style type="text/css"> 119 a.img-thumbnail{ 120 min-width:100px; 121 } 122 </style> 123 ]]></add> 124 </operation> 125 </file> 126 <file path="admin/model/tool/image.php"> 127 <operation> 128 <search><![CDATA[public function resize($filename, $width, $height) {]]></search> 129 <add position="after"><![CDATA[ 130 if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { 131 $server = HTTPS_CATALOG; 132 } else { 133 $server = HTTP_CATALOG; 134 } 135 136 if ($filename) { 137 $image_info = @getimagesize(DIR_IMAGE . $filename); 138 if (!$image_info) { 139 return $server . 'image/' . $filename; 140 } 141 } else { 142 $filename = "no_image.png"; 143 } 144 ]]></add> 145 </operation> 146 </file> 147 <file path="catalog/model/tool/image.php"> 148 <operation> 149 <search><![CDATA[public function resize($filename, $width, $height) {]]></search> 150 <add position="after"><![CDATA[ 151 if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { 152 $server = HTTPS_SERVER; 153 } else { 154 $server = HTTP_SERVER; 155 } 156 157 if ($filename) { 158 $image_info = @getimagesize(DIR_IMAGE . $filename); 159 if (!$image_info) { 160 return $server . 'image/' . $filename; 161 } 162 } else { 163 $filename = "no_image.png"; 164 } 165 ]]></add> 166 </operation> 167 </file> 168 <file path="catalog/model/localisation/language.php"> 169 <operation error="skip"> 170 $language_data = $this->cache->get('language'); 171 <search ><![CDATA[$language_data = $this->cache->get('language');]]></search> 172 <add position="replace"><![CDATA[ 173 $language_data = $this->cache->get('catalog.language');]]></add> 174 </operation> 175 </file> 176 <file path="system/config/catalog.php"> 177 <operation error="skip"> 178 <search index="1" ><![CDATA['view/*/before' => array(]]></search> 179 <add position="replace" offset="2"><![CDATA[ 180 // "view/*/before" => array( 181 // 1000 => 'event/debug/before' 182 // ), 183 ]]></add> 184 </operation> 185 <operation error="skip"> 186 <search ><![CDATA['controller/*/after' => array(]]></search> 187 <add position="replace" offset="2"><![CDATA[ 188 // 'controller/*/after' => array( 189 //'event/debug/after' 190 //) 191 ]]></add> 192 </operation> 193 </file> 194 </modification>