PageRenderTime 249ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 1ms

/Quản lý website phụ tùng oto xe máy PHP/public_html/libraries/joomla/database/table/content.php

https://gitlab.com/phamngsinh/baitaplon_sinhvien
PHP | 373 lines | 246 code | 21 blank | 106 comment | 8 complexity | f495c58c4f918f66ff49abb88108db50 MD5 | raw file
  1. <?php
  2. /**
  3. * @version $Id: content.php 14401 2010-01-26 14:10:00Z louis $
  4. * @package Joomla.Framework
  5. * @subpackage Table
  6. * @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
  7. * @license GNU/GPL, see LICENSE.php
  8. * Joomla! is free software. This version may have been modified pursuant
  9. * to the GNU General Public License, and as distributed it includes or
  10. * is derivative of works licensed under the GNU General Public License or
  11. * other free or open source software licenses.
  12. * See COPYRIGHT.php for copyright notices and details.
  13. */
  14. // Check to ensure this file is within the rest of the framework
  15. defined('JPATH_BASE') or die();
  16. /**
  17. * Content table
  18. *
  19. * @package Joomla.Framework
  20. * @subpackage Table
  21. * @since 1.0
  22. */
  23. class JTableContent extends JTable
  24. {
  25. /** @var int Primary key */
  26. var $id = null;
  27. /** @var string */
  28. var $title = null;
  29. /** @var string */
  30. var $alias = null;
  31. /** @var string */
  32. var $title_alias = null;
  33. /** @var string */
  34. var $introtext = null;
  35. /** @var string */
  36. var $fulltext = null;
  37. /** @var int */
  38. var $state = null;
  39. /** @var int The id of the category section*/
  40. var $sectionid = null;
  41. /** @var int DEPRECATED */
  42. var $mask = null;
  43. /** @var int */
  44. var $catid = null;
  45. /** @var datetime */
  46. var $created = null;
  47. /** @var int User id*/
  48. var $created_by = null;
  49. /** @var string An alias for the author*/
  50. var $created_by_alias = null;
  51. /** @var datetime */
  52. var $modified = null;
  53. /** @var int User id*/
  54. var $modified_by = null;
  55. /** @var boolean */
  56. var $checked_out = 0;
  57. /** @var time */
  58. var $checked_out_time = 0;
  59. /** @var datetime */
  60. var $publish_up = null;
  61. /** @var datetime */
  62. var $publish_down = null;
  63. /** @var string */
  64. var $images = null;
  65. /** @var string */
  66. var $urls = null;
  67. /** @var string */
  68. var $attribs = null;
  69. /** @var int */
  70. var $version = null;
  71. /** @var int */
  72. var $parentid = null;
  73. /** @var int */
  74. var $ordering = null;
  75. /** @var string */
  76. var $metakey = null;
  77. /** @var string */
  78. var $metadesc = null;
  79. /** @var string */
  80. var $metadata = null;
  81. /** @var int */
  82. var $access = null;
  83. /** @var int */
  84. var $hits = null;
  85. /**
  86. * @param database A database connector object
  87. */
  88. function __construct( &$db ) {
  89. parent::__construct( '#__content', 'id', $db );
  90. }
  91. /**
  92. * Overloaded check function
  93. *
  94. * @access public
  95. * @return boolean
  96. * @see JTable::check
  97. * @since 1.5
  98. */
  99. function check()
  100. {
  101. /*
  102. TODO: This filter is too rigorous,need to implement more configurable solution
  103. // specific filters
  104. $filter = & JFilterInput::getInstance( null, null, 1, 1 );
  105. $this->introtext = trim( $filter->clean( $this->introtext ) );
  106. $this->fulltext = trim( $filter->clean( $this->fulltext ) );
  107. */
  108. if(empty($this->title)) {
  109. $this->setError(JText::_('Article must have a title'));
  110. return false;
  111. }
  112. if(empty($this->alias)) {
  113. //$this->alias = $this->title;
  114. $this->alias = $this->vnit_change_unicode($this->title);
  115. }
  116. //$this->alias = JFilterOutput::stringURLSafe($this->alias);
  117. /*if(trim(str_replace('-','',$this->alias)) == '') {
  118. $datenow =& JFactory::getDate();
  119. $this->alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S");
  120. }
  121. */
  122. if (trim( str_replace( '&nbsp;', '', $this->fulltext ) ) == '') {
  123. $this->fulltext = '';
  124. }
  125. if(empty($this->introtext) && empty($this->fulltext)) {
  126. $this->setError(JText::_('Article must have some text'));
  127. return false;
  128. }
  129. // clean up keywords -- eliminate extra spaces between phrases
  130. // and cr (\r) and lf (\n) characters from string
  131. if(!empty($this->metakey)) { // only process if not empty
  132. $bad_characters = array("\n", "\r", "\"", "<", ">"); // array of characters to remove
  133. $after_clean = JString::str_ireplace($bad_characters, "", $this->metakey); // remove bad characters
  134. $keys = explode(',', $after_clean); // create array using commas as delimiter
  135. $clean_keys = array();
  136. foreach($keys as $key) {
  137. if(trim($key)) { // ignore blank keywords
  138. $clean_keys[] = trim($key);
  139. }
  140. }
  141. $this->metakey = implode(", ", $clean_keys); // put array back together delimited by ", "
  142. }
  143. // clean up description -- eliminate quotes and <> brackets
  144. if(!empty($this->metadesc)) { // only process if not empty
  145. $bad_characters = array("\"", "<", ">");
  146. $this->metadesc = JString::str_ireplace($bad_characters, "", $this->metadesc);
  147. }
  148. return true;
  149. }
  150. /**
  151. * Converts record to XML
  152. * @param boolean Map foreign keys to text values
  153. */
  154. function toXML( $mapKeysToText=false )
  155. {
  156. $db =& JFactory::getDBO();
  157. if ($mapKeysToText) {
  158. $query = 'SELECT name'
  159. . ' FROM #__sections'
  160. . ' WHERE id = '. (int) $this->sectionid
  161. ;
  162. $db->setQuery( $query );
  163. $this->sectionid = $db->loadResult();
  164. $query = 'SELECT name'
  165. . ' FROM #__categories'
  166. . ' WHERE id = '. (int) $this->catid
  167. ;
  168. $db->setQuery( $query );
  169. $this->catid = $db->loadResult();
  170. $query = 'SELECT name'
  171. . ' FROM #__users'
  172. . ' WHERE id = ' . (int) $this->created_by
  173. ;
  174. $db->setQuery( $query );
  175. $this->created_by = $db->loadResult();
  176. }
  177. return parent::toXML( $mapKeysToText );
  178. }
  179. function vnit_change_unicode($value){
  180. #---------------------------------a^
  181. $value = str_replace("ấ", "a", $value);
  182. $value = str_replace("ầ", "a", $value);
  183. $value = str_replace("ẩ", "a", $value);
  184. $value = str_replace("ẫ", "a", $value);
  185. $value = str_replace("ậ", "a", $value);
  186. #---------------------------------A^
  187. $value = str_replace("Ấ", "A", $value);
  188. $value = str_replace("Ầ", "A", $value);
  189. $value = str_replace("Ẩ", "A", $value);
  190. $value = str_replace("Ẫ", "A", $value);
  191. $value = str_replace("Ậ", "A", $value);
  192. #---------------------------------a(
  193. $value = str_replace("ắ", "a", $value);
  194. $value = str_replace("ằ", "a", $value);
  195. $value = str_replace("ẳ", "a", $value);
  196. $value = str_replace("ẵ", "a", $value);
  197. $value = str_replace("ặ", "a", $value);
  198. #---------------------------------A(
  199. $value = str_replace("Ắ", "A", $value);
  200. $value = str_replace("Ằ", "A", $value);
  201. $value = str_replace("Ẳ", "A", $value);
  202. $value = str_replace("Ẵ", "A", $value);
  203. $value = str_replace("Ặ", "A", $value);
  204. #---------------------------------a
  205. $value = str_replace("á", "a", $value);
  206. $value = str_replace("à", "a", $value);
  207. $value = str_replace("ả", "a", $value);
  208. $value = str_replace("ã", "a", $value);
  209. $value = str_replace("ạ", "a", $value);
  210. $value = str_replace("â", "a", $value);
  211. $value = str_replace("ă", "a", $value);
  212. #---------------------------------A
  213. $value = str_replace("Á", "A", $value);
  214. $value = str_replace("À", "A", $value);
  215. $value = str_replace("Ả", "A", $value);
  216. $value = str_replace("Ã", "A", $value);
  217. $value = str_replace("Ạ", "A", $value);
  218. $value = str_replace("Â", "A", $value);
  219. $value = str_replace("Ă", "A", $value);
  220. #---------------------------------e^
  221. $value = str_replace("ế", "e", $value);
  222. $value = str_replace("ề", "e", $value);
  223. $value = str_replace("ể", "e", $value);
  224. $value = str_replace("ễ", "e", $value);
  225. $value = str_replace("ệ", "e", $value);
  226. #---------------------------------E^
  227. $value = str_replace("Ế", "E", $value);
  228. $value = str_replace("Ề", "E", $value);
  229. $value = str_replace("Ể", "E", $value);
  230. $value = str_replace("Ễ", "E", $value);
  231. $value = str_replace("Ệ", "E", $value);
  232. #---------------------------------e
  233. $value = str_replace("é", "e", $value);
  234. $value = str_replace("è", "e", $value);
  235. $value = str_replace("ẻ", "e", $value);
  236. $value = str_replace("ẽ", "e", $value);
  237. $value = str_replace("ẹ", "e", $value);
  238. $value = str_replace("ê", "e", $value);
  239. #---------------------------------E
  240. $value = str_replace("É", "E", $value);
  241. $value = str_replace("È", "E", $value);
  242. $value = str_replace("Ẻ", "E", $value);
  243. $value = str_replace("Ẽ", "E", $value);
  244. $value = str_replace("Ẹ", "E", $value);
  245. $value = str_replace("Ê", "E", $value);
  246. #---------------------------------i
  247. $value = str_replace("í", "i", $value);
  248. $value = str_replace("ì", "i", $value);
  249. $value = str_replace("ỉ", "i", $value);
  250. $value = str_replace("ĩ", "i", $value);
  251. $value = str_replace("ị", "i", $value);
  252. #---------------------------------I
  253. $value = str_replace("Í", "I", $value);
  254. $value = str_replace("Ì", "I", $value);
  255. $value = str_replace("Ỉ", "I", $value);
  256. $value = str_replace("Ĩ", "I", $value);
  257. $value = str_replace("Ị", "I", $value);
  258. #---------------------------------o^
  259. $value = str_replace("ố", "o", $value);
  260. $value = str_replace("ồ", "o", $value);
  261. $value = str_replace("ổ", "o", $value);
  262. $value = str_replace("ỗ", "o", $value);
  263. $value = str_replace("ộ", "o", $value);
  264. #---------------------------------O^
  265. $value = str_replace("Ố", "O", $value);
  266. $value = str_replace("Ồ", "O", $value);
  267. $value = str_replace("Ổ", "O", $value);
  268. $value = str_replace("Ô", "O", $value);
  269. $value = str_replace("Ộ", "O", $value);
  270. #---------------------------------o*
  271. $value = str_replace("ớ", "o", $value);
  272. $value = str_replace("ờ", "o", $value);
  273. $value = str_replace("ở", "o", $value);
  274. $value = str_replace("ỡ", "o", $value);
  275. $value = str_replace("ợ", "o", $value);
  276. #---------------------------------O*
  277. $value = str_replace("Ớ", "O", $value);
  278. $value = str_replace("Ờ", "O", $value);
  279. $value = str_replace("Ở", "O", $value);
  280. $value = str_replace("Ỡ", "O", $value);
  281. $value = str_replace("Ợ", "O", $value);
  282. #---------------------------------u*
  283. $value = str_replace("ứ", "u", $value);
  284. $value = str_replace("ừ", "u", $value);
  285. $value = str_replace("ử", "u", $value);
  286. $value = str_replace("ữ", "u", $value);
  287. $value = str_replace("ự", "u", $value);
  288. #---------------------------------U*
  289. $value = str_replace("Ứ", "U", $value);
  290. $value = str_replace("Ừ", "U", $value);
  291. $value = str_replace("Ử", "U", $value);
  292. $value = str_replace("Ữ", "U", $value);
  293. $value = str_replace("Ự", "U", $value);
  294. #---------------------------------y
  295. $value = str_replace("ý", "y", $value);
  296. $value = str_replace("ỳ", "y", $value);
  297. $value = str_replace("ỷ", "y", $value);
  298. $value = str_replace("ỹ", "y", $value);
  299. $value = str_replace("ỵ", "y", $value);
  300. #---------------------------------Y
  301. $value = str_replace("Ý", "Y", $value);
  302. $value = str_replace("Ỳ", "Y", $value);
  303. $value = str_replace("Ỷ", "Y", $value);
  304. $value = str_replace("Ỹ", "Y", $value);
  305. $value = str_replace("Ỵ", "Y", $value);
  306. #---------------------------------DD
  307. $value = str_replace("Đ", "D", $value);
  308. $value = str_replace("đ", "d", $value);
  309. #---------------------------------o
  310. $value = str_replace("ó", "o", $value);
  311. $value = str_replace("ò", "o", $value);
  312. $value = str_replace("ỏ", "o", $value);
  313. $value = str_replace("õ", "o", $value);
  314. $value = str_replace("ọ", "o", $value);
  315. $value = str_replace("ô", "o", $value);
  316. $value = str_replace("ơ", "o", $value);
  317. #---------------------------------O
  318. $value = str_replace("Ó", "O", $value);
  319. $value = str_replace("Ò", "O", $value);
  320. $value = str_replace("Ỏ", "O", $value);
  321. $value = str_replace("Õ", "O", $value);
  322. $value = str_replace("Ọ", "O", $value);
  323. $value = str_replace("Ô", "O", $value);
  324. $value = str_replace("Ơ", "O", $value);
  325. #---------------------------------u
  326. $value = str_replace("ú", "u", $value);
  327. $value = str_replace("ù", "u", $value);
  328. $value = str_replace("ủ", "u", $value);
  329. $value = str_replace("ũ", "u", $value);
  330. $value = str_replace("ụ", "u", $value);
  331. $value = str_replace("Ụ", "U", $value);
  332. $value = str_replace("ư", "u", $value);
  333. #---------------------------------U
  334. $value = str_replace("Ú", "U", $value);
  335. $value = str_replace("Ù", "U", $value);
  336. $value = str_replace("Ủ", "U", $value);
  337. $value = str_replace("Ũ", "U", $value);
  338. $value = str_replace("Ụ", "U", $value);
  339. $value = str_replace("Ư", "U", $value);
  340. $value = str_replace(" ", "-", $value);
  341. $search = array ('&amp;', '&#039;', '&quot;', '&lt;', '&gt;', '&#x005C;', '&#x002F;', '&#40;', '&#41;', '&#42;', '&#91;', '&#93;', '&#33;', '&#x3D;', '&#x23;', '&#x25;', '&#x5E;', '&#x3A;', '&#x7B;', '&#x7D;', '&#x60;', '&#x7E;' );
  342. $value = str_replace ( $search, " ", $value );
  343. $value = preg_replace( "/([^a-z0-9-\s])/is", "", $value );
  344. $value = preg_replace( "/[\s]+/", " ", $value );
  345. $value = preg_replace( "/\s/", "-", $value );
  346. $value = preg_replace( '/(\-)$/', '', $value );
  347. $value = preg_replace( '/^(\-)/', '', $value );
  348. $value = preg_replace( '/[\-]+/', '-', $value );
  349. return $value;
  350. }
  351. }