/shared/shortcodes/shortcodes/profile.php

https://github.com/deltafactory/landing-pages · PHP · 184 lines · 162 code · 13 blank · 9 comment · 17 complexity · a148310c19e98126553df7dbbebe7097 MD5 · raw file

  1. <?php
  2. /**
  3. * Profile Shortcode
  4. */
  5. /* Shortcode generator config
  6. * ----------------------------------------------------- */
  7. $shortcodes_config['profile'] = array(
  8. 'no_preview' => true,
  9. 'options' => array(
  10. 'name' => array(
  11. 'name' => __('Profile Name', 'leads'),
  12. 'desc' => __('Enter the name.', 'leads'),
  13. 'type' => 'text',
  14. 'std' => ''
  15. ),
  16. 'meta' => array(
  17. 'name' => __('Profile Meta', 'leads'),
  18. 'desc' => __('Enter the profile meta. e.g job position etc.', 'leads'),
  19. 'type' => 'text',
  20. 'std' => ''
  21. ),
  22. 'image' => array(
  23. 'name' => __('Profile Image', 'leads'),
  24. 'desc' => __('Paste your profile image URL here.', 'leads'),
  25. 'type' => 'text',
  26. 'std' => ''
  27. ),
  28. 'link' => array(
  29. 'name' => __('Profile Link', 'leads'),
  30. 'desc' => __('Paste your profile link URL here.', 'leads'),
  31. 'type' => 'text',
  32. 'std' => ''
  33. ),
  34. 'facebook' => array(
  35. 'name' => __('Profile Facebook', 'leads'),
  36. 'desc' => __('Paste your facebook URL here.', 'leads'),
  37. 'type' => 'text',
  38. 'std' => ''
  39. ),
  40. 'twitter' => array(
  41. 'name' => __('Profile Twitter', 'leads'),
  42. 'desc' => __('Paste your twitter URL here.', 'leads'),
  43. 'type' => 'text',
  44. 'std' => ''
  45. ),
  46. 'email' => array(
  47. 'name' => __('Profile Email Address', 'leads'),
  48. 'desc' => __('Paste your email address here.', 'leads'),
  49. 'type' => 'text',
  50. 'std' => ''
  51. ),
  52. 'content' => array(
  53. 'name' => __('Profile Description', 'leads'),
  54. 'desc' => __('Enter the profile description text.', 'leads'),
  55. 'type' => 'textarea',
  56. 'std' => ''
  57. )
  58. ),
  59. 'shortcode' => '[profile name="{{name}}" meta="{{meta}}" image="{{image}}"]{{content}}[/profile]',
  60. 'popup_title' => 'Insert Profile Shortcode'
  61. );
  62. /* Page builder module config
  63. * ----------------------------------------------------- */
  64. $freshbuilder_modules['profile'] = array(
  65. 'name' => __('Profile', 'leads'),
  66. 'size' => 'one_fourth',
  67. 'options' => array(
  68. 'name' => array(
  69. 'name' => __('Profile Name', 'leads'),
  70. 'desc' => __('Enter the name.', 'leads'),
  71. 'type' => 'text',
  72. 'std' => '',
  73. 'class' => '',
  74. 'is_content' => 0
  75. ),
  76. 'meta' => array(
  77. 'name' => __('Profile Meta', 'leads'),
  78. 'desc' => __('Enter the profile meta. e.g job position etc.', 'leads'),
  79. 'type' => 'text',
  80. 'std' => '',
  81. 'class' => '',
  82. 'is_content' => 0
  83. ),
  84. 'image' => array(
  85. 'name' => __('Profile Image', 'leads'),
  86. 'desc' => __('Paste your profile image URL here.', 'leads'),
  87. 'type' => 'text',
  88. 'std' => '',
  89. 'class' => '',
  90. 'is_content' => 0
  91. ),
  92. 'link' => array(
  93. 'name' => __('Profile Link', 'leads'),
  94. 'desc' => __('Paste your profile URL here.', 'leads'),
  95. 'type' => 'text',
  96. 'std' => '',
  97. 'class' => '',
  98. 'is_content' => 0
  99. ),
  100. 'facebook' => array(
  101. 'name' => __('Profile Facebook', 'leads'),
  102. 'desc' => __('Paste your facebook URL here.', 'leads'),
  103. 'type' => 'text',
  104. 'std' => '',
  105. 'class' => '',
  106. 'is_content' => 0
  107. ),
  108. 'twitter' => array(
  109. 'name' => __('Profile Twitter', 'leads'),
  110. 'desc' => __('Paste your twitter URL here.', 'leads'),
  111. 'type' => 'text',
  112. 'std' => '',
  113. 'class' => '',
  114. 'is_content' => 0
  115. ),
  116. 'email' => array(
  117. 'name' => __('Profile Email Address', 'leads'),
  118. 'desc' => __('Paste your email address here.', 'leads'),
  119. 'type' => 'text',
  120. 'std' => '',
  121. 'class' => '',
  122. 'is_content' => 0
  123. ),
  124. 'content' => array(
  125. 'name' => __('Profile Description', 'leads'),
  126. 'desc' => __('Enter the profile description text.', 'leads'),
  127. 'type' => 'textarea',
  128. 'std' => '',
  129. 'class' => '',
  130. 'is_content' => 1
  131. )
  132. )
  133. );
  134. /* Add shortcode
  135. * ----------------------------------------------------- */
  136. add_shortcode('profile', 'inbound_shortcode_profile');
  137. function inbound_shortcode_profile( $atts, $content = null ) {
  138. extract(shortcode_atts(array(
  139. 'name' => '',
  140. 'meta' => '',
  141. 'image' => '',
  142. 'link' => '',
  143. 'facebook' => '',
  144. 'twitter' => '',
  145. 'email' => ''
  146. ), $atts));
  147. $out = '';
  148. $out .= '<div class="profile-box clearfix">';
  149. if($link != '') :
  150. $out .= '<figure class="profile-img"><a href="'. $link .'"><img src="'. $image .'" alt="'. $name .'"/></a></figure>';
  151. else :
  152. $out .= '<figure class="profile-img"><img src="'. $image .'" alt="'. $name .'"/></figure>';
  153. endif;
  154. if($name != '')
  155. $out .= '<h3 class="profile-name">'. $name .'</h3>';
  156. if($meta != '')
  157. $out .= '<div class="profile-meta">'. $meta .'</div>';
  158. $out .= '<div class="profile-desc">'. do_shortcode($content) .'</div>';
  159. if($facebook || $twitter || $email ) {
  160. $out .= '<div class="profile-footer">';
  161. if($facebook != '')
  162. $out .= '<a href="'. $facebook .'"><i class="icon-facebook-sign"></i> Facebook</a>';
  163. if($twitter != '')
  164. $out .= '<a href="'. $twitter .'"><i class="icon-twitter"></i> Twitter</a>';
  165. if($email != '' && is_email($email) )
  166. $out .= '<a href="mailto:'. $email .'"><i class="icon-envelope-alt"></i> Email</a>';
  167. $out .= '</div>';
  168. }
  169. $out .= '</div>';
  170. return $out;
  171. }