/wp-content/plugins/live-composer-page-builder/modules/tp-title/module.php

https://gitlab.com/mostafame/team_website · PHP · 513 lines · 470 code · 32 blank · 11 comment · 3 complexity · 03ab0f23598fed0eee228cd3784c3058 MD5 · raw file

  1. <?php
  2. class DSLC_TP_Title extends DSLC_Module {
  3. var $module_id;
  4. var $module_title;
  5. var $module_icon;
  6. var $module_category;
  7. function __construct() {
  8. $this->module_id = 'DSLC_TP_Title';
  9. $this->module_title = __( 'Title', 'live-composer-page-builder' );
  10. $this->module_icon = 'font';
  11. $this->module_category = 'single';
  12. }
  13. function options() {
  14. $dslc_options = array(
  15. array(
  16. 'label' => __( 'Show On', 'live-composer-page-builder' ),
  17. 'id' => 'css_show_on',
  18. 'std' => 'desktop tablet phone',
  19. 'type' => 'checkbox',
  20. 'choices' => array(
  21. array(
  22. 'label' => __( 'Desktop', 'live-composer-page-builder' ),
  23. 'value' => 'desktop'
  24. ),
  25. array(
  26. 'label' => __( 'Tablet', 'live-composer-page-builder' ),
  27. 'value' => 'tablet'
  28. ),
  29. array(
  30. 'label' => __( 'Phone', 'live-composer-page-builder' ),
  31. 'value' => 'phone'
  32. ),
  33. ),
  34. ),
  35. array(
  36. 'label' => __( 'BG Color', 'live-composer-page-builder' ),
  37. 'id' => 'css_bg_color',
  38. 'std' => '',
  39. 'type' => 'color',
  40. 'refresh_on_change' => false,
  41. 'affect_on_change_el' => 'h1',
  42. 'affect_on_change_rule' => 'background-color',
  43. 'section' => 'styling',
  44. ),
  45. array(
  46. 'label' => __( 'Border Color', 'live-composer-page-builder' ),
  47. 'id' => 'css_border_color',
  48. 'std' => '',
  49. 'type' => 'color',
  50. 'refresh_on_change' => false,
  51. 'affect_on_change_el' => 'h1',
  52. 'affect_on_change_rule' => 'border-color',
  53. 'section' => 'styling',
  54. ),
  55. array(
  56. 'label' => __( 'Border Width', 'live-composer-page-builder' ),
  57. 'id' => 'css_border_width',
  58. 'std' => '0',
  59. 'type' => 'slider',
  60. 'refresh_on_change' => false,
  61. 'affect_on_change_el' => 'h1',
  62. 'affect_on_change_rule' => 'border-width',
  63. 'section' => 'styling',
  64. 'ext' => 'px',
  65. ),
  66. array(
  67. 'label' => __( 'Borders', 'live-composer-page-builder' ),
  68. 'id' => 'css_border_trbl',
  69. 'std' => 'top right bottom left',
  70. 'type' => 'checkbox',
  71. 'choices' => array(
  72. array(
  73. 'label' => __( 'Top', 'live-composer-page-builder' ),
  74. 'value' => 'top'
  75. ),
  76. array(
  77. 'label' => __( 'Right', 'live-composer-page-builder' ),
  78. 'value' => 'right'
  79. ),
  80. array(
  81. 'label' => __( 'Bottom', 'live-composer-page-builder' ),
  82. 'value' => 'bottom'
  83. ),
  84. array(
  85. 'label' => __( 'Left', 'live-composer-page-builder' ),
  86. 'value' => 'left'
  87. ),
  88. ),
  89. 'refresh_on_change' => false,
  90. 'affect_on_change_el' => 'h1',
  91. 'affect_on_change_rule' => 'border-style',
  92. 'section' => 'styling',
  93. ),
  94. array(
  95. 'label' => __( 'Border Radius - Top', 'live-composer-page-builder' ),
  96. 'id' => 'css_border_radius_top',
  97. 'std' => '0',
  98. 'type' => 'slider',
  99. 'refresh_on_change' => false,
  100. 'affect_on_change_el' => 'h1',
  101. 'affect_on_change_rule' => 'border-top-left-radius,border-top-right-radius',
  102. 'section' => 'styling',
  103. 'ext' => 'px'
  104. ),
  105. array(
  106. 'label' => __( 'Border Radius - Bottom', 'live-composer-page-builder' ),
  107. 'id' => 'css_border_radius_bottom',
  108. 'std' => '0',
  109. 'type' => 'slider',
  110. 'refresh_on_change' => false,
  111. 'affect_on_change_el' => 'h1',
  112. 'affect_on_change_rule' => 'border-bottom-left-radius,border-bottom-right-radius',
  113. 'section' => 'styling',
  114. 'ext' => 'px'
  115. ),
  116. array(
  117. 'label' => __( 'Margin Bottom', 'live-composer-page-builder' ),
  118. 'id' => 'css_margin_bottom',
  119. 'std' => '0',
  120. 'type' => 'slider',
  121. 'refresh_on_change' => false,
  122. 'affect_on_change_el' => 'h1',
  123. 'affect_on_change_rule' => 'margin-bottom',
  124. 'section' => 'styling',
  125. 'ext' => 'px',
  126. ),
  127. array(
  128. 'label' => __( 'Minimum Height', 'live-composer-page-builder' ),
  129. 'id' => 'css_min_height',
  130. 'std' => '0',
  131. 'type' => 'slider',
  132. 'refresh_on_change' => false,
  133. 'affect_on_change_el' => 'h1',
  134. 'affect_on_change_rule' => 'min-height',
  135. 'section' => 'styling',
  136. 'ext' => 'px',
  137. 'min' => 0,
  138. 'max' => 1000,
  139. 'increment' => 5
  140. ),
  141. array(
  142. 'label' => __( 'Padding Vertical', 'live-composer-page-builder' ),
  143. 'id' => 'css_padding_vertical',
  144. 'std' => '0',
  145. 'type' => 'slider',
  146. 'refresh_on_change' => false,
  147. 'affect_on_change_el' => 'h1',
  148. 'affect_on_change_rule' => 'padding-top,padding-bottom',
  149. 'section' => 'styling',
  150. 'ext' => 'px',
  151. ),
  152. array(
  153. 'label' => __( 'Padding Horizontal', 'live-composer-page-builder' ),
  154. 'id' => 'css_padding_horizontal',
  155. 'std' => '0',
  156. 'type' => 'slider',
  157. 'refresh_on_change' => false,
  158. 'affect_on_change_el' => 'h1',
  159. 'affect_on_change_rule' => 'padding-left,padding-right',
  160. 'section' => 'styling',
  161. 'ext' => 'px',
  162. ),
  163. /**
  164. * Typography
  165. */
  166. array(
  167. 'label' => __( 'Color', 'live-composer-page-builder' ),
  168. 'id' => 'css_color',
  169. 'std' => '',
  170. 'type' => 'color',
  171. 'refresh_on_change' => false,
  172. 'affect_on_change_el' => 'h1',
  173. 'affect_on_change_rule' => 'color',
  174. 'section' => 'styling',
  175. 'tab' => __( 'Typography', 'live-composer-page-builder' ),
  176. ),
  177. array(
  178. 'label' => __( 'Font Size', 'live-composer-page-builder' ),
  179. 'id' => 'css_font_size',
  180. 'std' => '25',
  181. 'type' => 'slider',
  182. 'refresh_on_change' => false,
  183. 'affect_on_change_el' => 'h1',
  184. 'affect_on_change_rule' => 'font-size',
  185. 'section' => 'styling',
  186. 'tab' => __( 'Typography', 'live-composer-page-builder' ),
  187. 'ext' => 'px'
  188. ),
  189. array(
  190. 'label' => __( 'Font Weight', 'live-composer-page-builder' ),
  191. 'id' => 'css_font_weight',
  192. 'std' => '400',
  193. 'type' => 'slider',
  194. 'refresh_on_change' => false,
  195. 'affect_on_change_el' => 'h1',
  196. 'affect_on_change_rule' => 'font-weight',
  197. 'section' => 'styling',
  198. 'tab' => __( 'Typography', 'live-composer-page-builder' ),
  199. 'ext' => '',
  200. 'min' => 100,
  201. 'max' => 900,
  202. 'increment' => 100
  203. ),
  204. array(
  205. 'label' => __( 'Font Family', 'live-composer-page-builder' ),
  206. 'id' => 'css_font_family',
  207. 'std' => 'Open Sans',
  208. 'type' => 'font',
  209. 'refresh_on_change' => false,
  210. 'affect_on_change_el' => 'h1',
  211. 'affect_on_change_rule' => 'font-family',
  212. 'section' => 'styling',
  213. 'tab' => __( 'Typography', 'live-composer-page-builder' ),
  214. ),
  215. array(
  216. 'label' => __( 'Line Height', 'live-composer-page-builder' ),
  217. 'id' => 'css_line_height',
  218. 'std' => '40',
  219. 'type' => 'slider',
  220. 'refresh_on_change' => false,
  221. 'affect_on_change_el' => 'h1',
  222. 'affect_on_change_rule' => 'line-height',
  223. 'section' => 'styling',
  224. 'tab' => __( 'Typography', 'live-composer-page-builder' ),
  225. 'ext' => 'px'
  226. ),
  227. array(
  228. 'label' => __( 'Text Align', 'live-composer-page-builder' ),
  229. 'id' => 'css_text_align',
  230. 'std' => 'left',
  231. 'type' => 'text_align',
  232. 'refresh_on_change' => false,
  233. 'affect_on_change_el' => 'h1',
  234. 'affect_on_change_rule' => 'text-align',
  235. 'section' => 'styling',
  236. 'tab' => __( 'Typography', 'live-composer-page-builder' ),
  237. ),
  238. array(
  239. 'label' => __( 'Text Transform', 'live-composer-page-builder' ),
  240. 'id' => 'css_text_transform',
  241. 'std' => 'none',
  242. 'type' => 'select',
  243. 'choices' => array(
  244. array(
  245. 'label' => __( 'None', 'live-composer-page-builder' ),
  246. 'value' => 'none'
  247. ),
  248. array(
  249. 'label' => __( 'Capitalize', 'live-composer-page-builder' ),
  250. 'value' => 'capitalize'
  251. ),
  252. array(
  253. 'label' => __( 'Uppercase', 'live-composer-page-builder' ),
  254. 'value' => 'uppercase'
  255. ),
  256. array(
  257. 'label' => __( 'Lowercase', 'live-composer-page-builder' ),
  258. 'value' => 'lowercase'
  259. ),
  260. ),
  261. 'refresh_on_change' => false,
  262. 'affect_on_change_el' => 'h1',
  263. 'affect_on_change_rule' => 'text-transform',
  264. 'section' => 'styling',
  265. 'tab' => __( 'Typography', 'live-composer-page-builder' ),
  266. ),
  267. array(
  268. 'label' => __( 'Text Shadow', 'live-composer-page-builder' ),
  269. 'id' => 'css_text_shadow',
  270. 'std' => '',
  271. 'type' => 'text_shadow',
  272. 'refresh_on_change' => false,
  273. 'affect_on_change_el' => 'h1',
  274. 'affect_on_change_rule' => 'text-shadow',
  275. 'section' => 'styling',
  276. 'tab' => __( 'Typography', 'live-composer-page-builder' ),
  277. ),
  278. /**
  279. * Responsive Tablet
  280. */
  281. array(
  282. 'label' => __( 'Responsive Styling', 'live-composer-page-builder' ),
  283. 'id' => 'css_res_t',
  284. 'std' => 'disabled',
  285. 'type' => 'select',
  286. 'choices' => array(
  287. array(
  288. 'label' => __( 'Disabled', 'live-composer-page-builder' ),
  289. 'value' => 'disabled'
  290. ),
  291. array(
  292. 'label' => __( 'Enabled', 'live-composer-page-builder' ),
  293. 'value' => 'enabled'
  294. ),
  295. ),
  296. 'section' => 'responsive',
  297. 'tab' => __( 'tablet', 'live-composer-page-builder' ),
  298. ),
  299. array(
  300. 'label' => __( 'Margin Bottom', 'live-composer-page-builder' ),
  301. 'id' => 'css_res_t_margin_bottom',
  302. 'std' => '0',
  303. 'type' => 'slider',
  304. 'refresh_on_change' => false,
  305. 'affect_on_change_el' => 'h1',
  306. 'affect_on_change_rule' => 'margin-bottom',
  307. 'section' => 'responsive',
  308. 'tab' => __( 'tablet', 'live-composer-page-builder' ),
  309. 'ext' => 'px',
  310. ),
  311. array(
  312. 'label' => __( 'Padding Vertical', 'live-composer-page-builder' ),
  313. 'id' => 'css_res_t_padding_vertical',
  314. 'std' => '0',
  315. 'type' => 'slider',
  316. 'refresh_on_change' => false,
  317. 'affect_on_change_el' => 'h1',
  318. 'affect_on_change_rule' => 'padding-top,padding-bottom',
  319. 'section' => 'responsive',
  320. 'tab' => __( 'tablet', 'live-composer-page-builder' ),
  321. 'ext' => 'px',
  322. ),
  323. array(
  324. 'label' => __( 'Padding Horizontal', 'live-composer-page-builder' ),
  325. 'id' => 'css_res_t_padding_horizontal',
  326. 'std' => '0',
  327. 'type' => 'slider',
  328. 'refresh_on_change' => false,
  329. 'affect_on_change_el' => 'h1',
  330. 'affect_on_change_rule' => 'padding-left,padding-right',
  331. 'section' => 'responsive',
  332. 'tab' => __( 'tablet', 'live-composer-page-builder' ),
  333. 'ext' => 'px',
  334. ),
  335. array(
  336. 'label' => __( 'Font Size', 'live-composer-page-builder' ),
  337. 'id' => 'css_res_t_font_size',
  338. 'std' => '25',
  339. 'type' => 'slider',
  340. 'refresh_on_change' => false,
  341. 'affect_on_change_el' => 'h1',
  342. 'affect_on_change_rule' => 'font-size',
  343. 'section' => 'responsive',
  344. 'tab' => __( 'tablet', 'live-composer-page-builder' ),
  345. 'ext' => 'px'
  346. ),
  347. array(
  348. 'label' => __( 'Line Height', 'live-composer-page-builder' ),
  349. 'id' => 'css_res_t_line_height',
  350. 'std' => '40',
  351. 'type' => 'slider',
  352. 'refresh_on_change' => false,
  353. 'affect_on_change_el' => 'h1',
  354. 'affect_on_change_rule' => 'line-height',
  355. 'section' => 'responsive',
  356. 'tab' => __( 'tablet', 'live-composer-page-builder' ),
  357. 'ext' => 'px'
  358. ),
  359. /**
  360. * Responsive Tablet
  361. */
  362. array(
  363. 'label' => __( 'Responsive Styling', 'live-composer-page-builder' ),
  364. 'id' => 'css_res_p',
  365. 'std' => 'disabled',
  366. 'type' => 'select',
  367. 'choices' => array(
  368. array(
  369. 'label' => __( 'Disabled', 'live-composer-page-builder' ),
  370. 'value' => 'disabled'
  371. ),
  372. array(
  373. 'label' => __( 'Enabled', 'live-composer-page-builder' ),
  374. 'value' => 'enabled'
  375. ),
  376. ),
  377. 'section' => 'responsive',
  378. 'tab' => __( 'phone', 'live-composer-page-builder' ),
  379. ),
  380. array(
  381. 'label' => __( 'Margin Bottom', 'live-composer-page-builder' ),
  382. 'id' => 'css_res_p_margin_bottom',
  383. 'std' => '0',
  384. 'type' => 'slider',
  385. 'refresh_on_change' => false,
  386. 'affect_on_change_el' => 'h1',
  387. 'affect_on_change_rule' => 'margin-bottom',
  388. 'section' => 'responsive',
  389. 'tab' => __( 'phone', 'live-composer-page-builder' ),
  390. 'ext' => 'px',
  391. ),
  392. array(
  393. 'label' => __( 'Padding Vertical', 'live-composer-page-builder' ),
  394. 'id' => 'css_res_p_padding_vertical',
  395. 'std' => '0',
  396. 'type' => 'slider',
  397. 'refresh_on_change' => false,
  398. 'affect_on_change_el' => 'h1',
  399. 'affect_on_change_rule' => 'padding-top,padding-bottom',
  400. 'section' => 'responsive',
  401. 'tab' => __( 'phone', 'live-composer-page-builder' ),
  402. 'ext' => 'px',
  403. ),
  404. array(
  405. 'label' => __( 'Padding Horizontal', 'live-composer-page-builder' ),
  406. 'id' => 'css_res_p_padding_horizontal',
  407. 'std' => '0',
  408. 'type' => 'slider',
  409. 'refresh_on_change' => false,
  410. 'affect_on_change_el' => 'h1',
  411. 'affect_on_change_rule' => 'padding-left,padding-right',
  412. 'section' => 'responsive',
  413. 'tab' => __( 'phone', 'live-composer-page-builder' ),
  414. 'ext' => 'px',
  415. ),
  416. array(
  417. 'label' => __( 'Font Size', 'live-composer-page-builder' ),
  418. 'id' => 'css_res_p_font_size',
  419. 'std' => '25',
  420. 'type' => 'slider',
  421. 'refresh_on_change' => false,
  422. 'affect_on_change_el' => 'h1',
  423. 'affect_on_change_rule' => 'font-size',
  424. 'section' => 'responsive',
  425. 'tab' => __( 'phone', 'live-composer-page-builder' ),
  426. 'ext' => 'px'
  427. ),
  428. array(
  429. 'label' => __( 'Line Height', 'live-composer-page-builder' ),
  430. 'id' => 'css_res_p_line_height',
  431. 'std' => '40',
  432. 'type' => 'slider',
  433. 'refresh_on_change' => false,
  434. 'affect_on_change_el' => 'h1',
  435. 'affect_on_change_rule' => 'line-height',
  436. 'section' => 'responsive',
  437. 'tab' => __( 'phone', 'live-composer-page-builder' ),
  438. 'ext' => 'px'
  439. ),
  440. );
  441. $dslc_options = array_merge( $dslc_options, $this->shared_options( 'animation_options', array('hover_opts' => false) ) );
  442. $dslc_options = array_merge( $dslc_options, $this->presets_options() );
  443. return apply_filters( 'dslc_module_options', $dslc_options, $this->module_id );
  444. }
  445. function output( $options ) {
  446. global $dslc_active;
  447. $post_id = $options['post_id'];
  448. if ( is_singular() ) {
  449. $post_id = get_the_ID();
  450. }
  451. $this->module_start( $options );
  452. /* Module output starts here */
  453. if ( is_category() ) {
  454. $title = single_cat_title( '', false );
  455. } elseif ( is_tag() ) {
  456. $title = single_tag_title( '', false );
  457. } elseif ( is_author() ) {
  458. $title = get_the_author();
  459. } elseif ( is_year() ) {
  460. $title = get_the_date( 'Y' );
  461. } elseif ( is_month() ) {
  462. $title = get_the_date( 'F Y' );
  463. } elseif ( is_day() ) {
  464. $title = get_the_date( 'F j, Y' );
  465. } elseif ( is_post_type_archive() ) {
  466. $title = post_type_archive_title( '', false );
  467. } elseif ( is_tax() ) {
  468. $tax = get_taxonomy( get_queried_object()->taxonomy );
  469. $title = $tax->labels->singular_name . ' ' . single_term_title( '', false );
  470. } elseif ( is_search() ) {
  471. $title = get_the_title( $post_id ) . ' ' . get_search_query();
  472. } else {
  473. $title = get_the_title( $post_id );
  474. }
  475. ?>
  476. <div class="dslc-tp-title"><h1><?php echo $title; ?></h1></div>
  477. <?php
  478. /* Module output ends here */
  479. $this->module_end( $options );
  480. }
  481. }