/oc-content/themes/modern/functions.php

https://github.com/hashemgamal/OSClass · PHP · 176 lines · 137 code · 20 blank · 19 comment · 36 complexity · 888d430933ee0cb2a900c21a291cc394 MD5 · raw file

  1. <?php
  2. /*
  3. * OSCLass – software for creating and publishing online classified
  4. * advertising platforms
  5. *
  6. * Copyright (C) 2010 OSCLASS
  7. *
  8. * This program is free software: you can redistribute it and/or
  9. * modify it under the terms of the GNU Affero General Public License
  10. * as published by the Free Software Foundation, either version 3 of
  11. * the License, or (at your option) any later version.
  12. *
  13. * This program is distributed in the hope that it will be useful, but
  14. * WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU Affero General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU Affero General Public
  19. * License along with this program. If not, see <http://www.gnu.org/licenses/>.
  20. */
  21. if( !function_exists('meta_title') ) {
  22. function meta_title( ) {
  23. $location = Rewrite::newInstance()->get_location();
  24. $section = Rewrite::newInstance()->get_section();
  25. switch ($location) {
  26. case ('item'):
  27. switch ($section) {
  28. case 'item_add': return __('Publish an item','modern') . ' - ' . osc_page_title(); break;
  29. case 'item_edit': return __('Edit your item','modern') . ' - ' . osc_page_title(); break;
  30. case 'send_friend': return __('Send to a friend','modern') . ' - ' . osc_item_title() . ' - ' . osc_page_title(); break;
  31. case 'contact': return __('Contact seller','modern') . ' - ' . osc_item_title() . ' - ' . osc_page_title(); break;
  32. default: return osc_item_title() . ' - ' . osc_page_title(); break;
  33. }
  34. break;
  35. case('page'):
  36. return osc_static_page_title() . ' - ' . osc_page_title();
  37. break;
  38. case('search'):
  39. $region = Params::getParam('sRegion');
  40. $city = Params::getParam('sCity');
  41. $pattern = Params::getParam('sPattern');
  42. $category = osc_search_category_id();
  43. $category = ((count($category) == 1) ? $category[0] : '');
  44. $s_page = '';
  45. $i_page = Params::getParam('iPage');
  46. if($i_page != '' && $i_page > 0) {
  47. $s_page = __('page', 'modern') . ' ' . ($i_page + 1) . ' - ';
  48. }
  49. $b_show_all = ($region == '' && $city == '' & $pattern == '' && $category == '');
  50. $b_category = ($category != '');
  51. $b_pattern = ($pattern != '');
  52. $b_city = ($city != '');
  53. $b_region = ($region != '');
  54. if($b_show_all) {
  55. return __('Show all items', 'modern') . ' - ' . $s_page . osc_page_title();
  56. }
  57. $result = '';
  58. if($b_pattern) {
  59. $result .= $pattern . ' &raquo; ';
  60. }
  61. if($b_category) {
  62. $list = array();
  63. $aCategories = Category::newInstance()->toRootTree($category);
  64. if(count($aCategories) > 0) {
  65. foreach ($aCategories as $single) {
  66. $list[] = $single['s_name'];
  67. }
  68. $result .= implode(' &raquo; ', $list) . ' &raquo; ';
  69. }
  70. }
  71. if($b_city) {
  72. $result .= $city . ' &raquo; ';
  73. }
  74. if($b_region) {
  75. $result .= $region . ' &raquo; ';
  76. }
  77. $result = preg_replace('|\s?&raquo;\s$|', '', $result);
  78. if($result == '') {
  79. $result = __('Search', 'modern');
  80. }
  81. return $result . ' - ' . $s_page . osc_page_title();
  82. break;
  83. case('login'):
  84. switch ($section) {
  85. case('recover'): return __('Recover your password','modern') . ' - ' . osc_page_title();
  86. default: return __('Login','modern') . ' - ' . osc_page_title();
  87. }
  88. break;
  89. case('register'):
  90. return __('Create a new account','modern') . ' - ' . osc_page_title();
  91. break;
  92. case('user'):
  93. switch ($section) {
  94. case('dashboard'): return __('Dashboard','modern') . ' - ' . osc_page_title(); break;
  95. case('items'): return __('Manage my items','modern') . ' - ' . osc_page_title(); break;
  96. case('alerts'): return __('Manage my alerts','modern') . ' - ' . osc_page_title(); break;
  97. case('profile'): return __('Update my profile','modern') . ' - ' . osc_page_title(); break;
  98. case('change_email'): return __('Change my email','modern') . ' - ' . osc_page_title(); break;
  99. case('change_password'): return __('Change my password','modern') . ' - ' . osc_page_title(); break;
  100. case('forgot'): return __('Recover my password','modern') . ' - ' . osc_page_title(); break;
  101. default: return osc_page_title(); break;
  102. }
  103. break;
  104. case('contact'):
  105. return __('Contact','modern') . ' - ' . osc_page_title();
  106. break;
  107. default:
  108. return osc_page_title();
  109. break;
  110. }
  111. }
  112. }
  113. if( !function_exists('meta_description') ) {
  114. function meta_description( ) {
  115. $location = Rewrite::newInstance()->get_location();
  116. $section = Rewrite::newInstance()->get_section();
  117. switch ($location) {
  118. case ('item'):
  119. switch ($section) {
  120. case 'item_add': return ''; break;
  121. case 'item_edit': return ''; break;
  122. case 'send_friend': return ''; break;
  123. case 'contact': return ''; break;
  124. default:
  125. return osc_item_category() . ', ' . osc_highlight(osc_item_description(), 140) . '..., ' . osc_item_category();
  126. break;
  127. }
  128. break;
  129. case('page'):
  130. return osc_highlight(strip_tags(osc_static_page_text()), 140);
  131. break;
  132. case('search'):
  133. $result = '';
  134. if(osc_count_items() == 0) {
  135. return '';
  136. }
  137. if(osc_has_items ()) {
  138. $result = osc_item_category() . ', ' . osc_highlight(strip_tags(osc_item_description()), 140) . '..., ' . osc_item_category();
  139. }
  140. osc_reset_items();
  141. return $result;
  142. case(''): // home
  143. $result = '';
  144. if(osc_count_latest_items() == 0) {
  145. return '';
  146. }
  147. if(osc_has_latest_items()) {
  148. $result = osc_item_category() . ', ' . osc_highlight(strip_tags(osc_item_description()), 140) . '..., ' . osc_item_category();
  149. }
  150. osc_reset_items();
  151. return $result;
  152. break;
  153. }
  154. }
  155. }
  156. ?>