wordpress-starter 0.1 → 0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. data/CHANGELOG.md +13 -0
  2. data/README.md +47 -4
  3. data/lib/wordpress-starter.rb +3 -2
  4. data/stylesheets/wordpress/_defaults.scss +267 -20
  5. data/stylesheets/wordpress/_page.scss +0 -363
  6. data/stylesheets/wordpress/_responsive.scss +0 -115
  7. data/stylesheets/wordpress/_theme.scss +0 -82
  8. data/stylesheets/wordpress/_typography.scss +0 -134
  9. data/templates/foundation/404.php +24 -0
  10. data/templates/{starter → foundation}/admin/README.txt +0 -0
  11. data/templates/{starter → foundation}/admin/assets/css/admin-style.css +0 -0
  12. data/templates/{starter → foundation}/admin/assets/css/colorpicker.css +0 -0
  13. data/templates/{starter → foundation}/admin/assets/images/1col.png +0 -0
  14. data/templates/{starter → foundation}/admin/assets/images/2-col-portfolio.png +0 -0
  15. data/templates/{starter → foundation}/admin/assets/images/2cl.png +0 -0
  16. data/templates/{starter → foundation}/admin/assets/images/2cr.png +0 -0
  17. data/templates/{starter → foundation}/admin/assets/images/3-col-portfolio.png +0 -0
  18. data/templates/{starter → foundation}/admin/assets/images/3cm.png +0 -0
  19. data/templates/{starter → foundation}/admin/assets/images/3cr.png +0 -0
  20. data/templates/{starter → foundation}/admin/assets/images/4-col-portfolio.png +0 -0
  21. data/templates/{starter → foundation}/admin/assets/images/accept.png +0 -0
  22. data/templates/{starter → foundation}/admin/assets/images/button_check.png +0 -0
  23. data/templates/{starter → foundation}/admin/assets/images/colorpicker/blank.gif +0 -0
  24. data/templates/{starter → foundation}/admin/assets/images/colorpicker/colorpicker_background.png +0 -0
  25. data/templates/{starter → foundation}/admin/assets/images/colorpicker/colorpicker_hex.png +0 -0
  26. data/templates/{starter → foundation}/admin/assets/images/colorpicker/colorpicker_hsb_b.png +0 -0
  27. data/templates/{starter → foundation}/admin/assets/images/colorpicker/colorpicker_hsb_h.png +0 -0
  28. data/templates/{starter → foundation}/admin/assets/images/colorpicker/colorpicker_hsb_s.png +0 -0
  29. data/templates/{starter → foundation}/admin/assets/images/colorpicker/colorpicker_indic.gif +0 -0
  30. data/templates/{starter → foundation}/admin/assets/images/colorpicker/colorpicker_overlay.png +0 -0
  31. data/templates/{starter → foundation}/admin/assets/images/colorpicker/colorpicker_rgb_b.png +0 -0
  32. data/templates/{starter → foundation}/admin/assets/images/colorpicker/colorpicker_rgb_g.png +0 -0
  33. data/templates/{starter → foundation}/admin/assets/images/colorpicker/colorpicker_rgb_r.png +0 -0
  34. data/templates/{starter → foundation}/admin/assets/images/colorpicker/colorpicker_select.gif +0 -0
  35. data/templates/{starter → foundation}/admin/assets/images/colorpicker/colorpicker_submit.png +0 -0
  36. data/templates/{starter → foundation}/admin/assets/images/colorpicker/select.png +0 -0
  37. data/templates/{starter → foundation}/admin/assets/images/dropdown-arrow.png +0 -0
  38. data/templates/{starter → foundation}/admin/assets/images/favicon.ico +0 -0
  39. data/templates/{starter → foundation}/admin/assets/images/icon-add.png +0 -0
  40. data/templates/{starter → foundation}/admin/assets/images/icon-backup.png +0 -0
  41. data/templates/{starter → foundation}/admin/assets/images/icon-delete.png +0 -0
  42. data/templates/{starter → foundation}/admin/assets/images/icon-docs.png +0 -0
  43. data/templates/{starter → foundation}/admin/assets/images/icon-edit.png +0 -0
  44. data/templates/{starter → foundation}/admin/assets/images/icon-home.png +0 -0
  45. data/templates/{starter → foundation}/admin/assets/images/icon-info.png +0 -0
  46. data/templates/{starter → foundation}/admin/assets/images/icon-notice.png +0 -0
  47. data/templates/{starter → foundation}/admin/assets/images/icon-paint.png +0 -0
  48. data/templates/{starter → foundation}/admin/assets/images/icon-settings.png +0 -0
  49. data/templates/{starter → foundation}/admin/assets/images/icon-slider.png +0 -0
  50. data/templates/{starter → foundation}/admin/assets/images/icon-warn.png +0 -0
  51. data/templates/{starter → foundation}/admin/assets/images/icon_option.png +0 -0
  52. data/templates/{starter → foundation}/admin/assets/images/loading-bottom.gif +0 -0
  53. data/templates/{starter → foundation}/admin/assets/images/select.png +0 -0
  54. data/templates/{starter → foundation}/admin/assets/images/sign_warning.png +0 -0
  55. data/templates/{starter → foundation}/admin/assets/images/stop.png +0 -0
  56. data/templates/{starter → foundation}/admin/assets/images/toggle_tabs.png +0 -0
  57. data/templates/{starter → foundation}/admin/assets/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  58. data/templates/{starter → foundation}/admin/assets/images/warning.png +0 -0
  59. data/templates/{starter → foundation}/admin/assets/images/wrench.png +0 -0
  60. data/templates/{starter → foundation}/admin/assets/images/wrench16.png +0 -0
  61. data/templates/{starter → foundation}/admin/assets/js/ajaxupload.js +0 -0
  62. data/templates/{starter → foundation}/admin/assets/js/colorpicker.js +0 -0
  63. data/templates/{starter → foundation}/admin/assets/js/cookie.js +0 -0
  64. data/templates/{starter → foundation}/admin/assets/js/jquery.maskedinput-1.2.2.js +0 -0
  65. data/templates/{starter → foundation}/admin/assets/js/jquery.tipsy.js +0 -0
  66. data/templates/{starter → foundation}/admin/assets/js/of-medialibrary-uploader.js +0 -0
  67. data/templates/{starter → foundation}/admin/assets/js/smof.js +0 -0
  68. data/templates/foundation/admin/classes/class.options-machine.php +627 -0
  69. data/templates/{starter → foundation}/admin/front-end/options.php +0 -0
  70. data/templates/{starter → foundation}/admin/functions/functions.admin.php +0 -0
  71. data/templates/{starter → foundation}/admin/functions/functions.interface.php +0 -0
  72. data/templates/{starter → foundation}/admin/functions/functions.load.php +0 -0
  73. data/templates/foundation/admin/functions/functions.mediauploader.php +194 -0
  74. data/templates/foundation/admin/functions/functions.options.php +508 -0
  75. data/templates/{starter → foundation}/admin/functions/functions.php +0 -0
  76. data/templates/{starter → foundation}/admin/index.php +88 -86
  77. data/templates/{starter → foundation}/admin/layouts/default.css +0 -0
  78. data/templates/{starter → foundation}/admin/layouts/placebo.css +0 -0
  79. data/templates/foundation/archive.php +57 -0
  80. data/templates/foundation/category.php +40 -0
  81. data/templates/foundation/comments.php +65 -0
  82. data/templates/foundation/content-aside.php +26 -0
  83. data/templates/foundation/content-image.php +29 -0
  84. data/templates/foundation/content-link.php +27 -0
  85. data/templates/foundation/content-none.php +21 -0
  86. data/templates/foundation/content-page.php +24 -0
  87. data/templates/foundation/content-quote.php +26 -0
  88. data/templates/foundation/content-status.php +33 -0
  89. data/templates/foundation/content.php +67 -0
  90. data/templates/foundation/editor-style.scss +359 -0
  91. data/templates/foundation/footer.php +29 -0
  92. data/templates/foundation/functions.php +1425 -0
  93. data/templates/foundation/header.php +63 -0
  94. data/templates/foundation/ie.scss +1 -0
  95. data/templates/{starter → foundation}/images/bg/bg0.png +0 -0
  96. data/templates/{starter → foundation}/images/bg/bg1.png +0 -0
  97. data/templates/{starter → foundation}/images/bg/bg10.png +0 -0
  98. data/templates/{starter → foundation}/images/bg/bg11.png +0 -0
  99. data/templates/{starter → foundation}/images/bg/bg2.png +0 -0
  100. data/templates/{starter → foundation}/images/bg/bg3.png +0 -0
  101. data/templates/{starter → foundation}/images/bg/bg4.png +0 -0
  102. data/templates/{starter → foundation}/images/bg/bg5.png +0 -0
  103. data/templates/{starter → foundation}/images/bg/bg6.jpg +0 -0
  104. data/templates/{starter → foundation}/images/bg/bg7.jpg +0 -0
  105. data/templates/{starter → foundation}/images/bg/bg8.png +0 -0
  106. data/templates/{starter → foundation}/images/bg/bg9.png +0 -0
  107. data/templates/foundation/images/fairhead-icons/fc-webicon-behance-m.png +0 -0
  108. data/templates/foundation/images/fairhead-icons/fc-webicon-behance-s.png +0 -0
  109. data/templates/foundation/images/fairhead-icons/fc-webicon-behance.png +0 -0
  110. data/templates/foundation/images/fairhead-icons/fc-webicon-behance.svg +48 -0
  111. data/templates/foundation/images/fairhead-icons/fc-webicon-creativecloud-m.png +0 -0
  112. data/templates/foundation/images/fairhead-icons/fc-webicon-creativecloud-s.png +0 -0
  113. data/templates/foundation/images/fairhead-icons/fc-webicon-creativecloud.png +0 -0
  114. data/templates/foundation/images/fairhead-icons/fc-webicon-creativecloud.svg +48 -0
  115. data/templates/foundation/images/fairhead-icons/fc-webicon-dribbble-m.png +0 -0
  116. data/templates/foundation/images/fairhead-icons/fc-webicon-dribbble-s.png +0 -0
  117. data/templates/foundation/images/fairhead-icons/fc-webicon-dribbble.png +0 -0
  118. data/templates/foundation/images/fairhead-icons/fc-webicon-dribbble.svg +28 -0
  119. data/templates/foundation/images/fairhead-icons/fc-webicon-dropbox-m.png +0 -0
  120. data/templates/foundation/images/fairhead-icons/fc-webicon-dropbox-s.png +0 -0
  121. data/templates/foundation/images/fairhead-icons/fc-webicon-dropbox.png +0 -0
  122. data/templates/foundation/images/fairhead-icons/fc-webicon-dropbox.svg +73 -0
  123. data/templates/foundation/images/fairhead-icons/fc-webicon-evernote-m.png +0 -0
  124. data/templates/foundation/images/fairhead-icons/fc-webicon-evernote-s.png +0 -0
  125. data/templates/foundation/images/fairhead-icons/fc-webicon-evernote.png +0 -0
  126. data/templates/foundation/images/fairhead-icons/fc-webicon-evernote.svg +62 -0
  127. data/templates/foundation/images/fairhead-icons/fc-webicon-facebook-m.png +0 -0
  128. data/templates/foundation/images/fairhead-icons/fc-webicon-facebook-s.png +0 -0
  129. data/templates/foundation/images/fairhead-icons/fc-webicon-facebook.png +0 -0
  130. data/templates/foundation/images/fairhead-icons/fc-webicon-facebook.svg +15 -0
  131. data/templates/foundation/images/fairhead-icons/fc-webicon-flickr-m.png +0 -0
  132. data/templates/foundation/images/fairhead-icons/fc-webicon-flickr-s.png +0 -0
  133. data/templates/foundation/images/fairhead-icons/fc-webicon-flickr.png +0 -0
  134. data/templates/foundation/images/fairhead-icons/fc-webicon-flickr.svg +14 -0
  135. data/templates/foundation/images/fairhead-icons/fc-webicon-github-m.png +0 -0
  136. data/templates/foundation/images/fairhead-icons/fc-webicon-github-s.png +0 -0
  137. data/templates/foundation/images/fairhead-icons/fc-webicon-github.png +0 -0
  138. data/templates/foundation/images/fairhead-icons/fc-webicon-github.svg +38 -0
  139. data/templates/foundation/images/fairhead-icons/fc-webicon-googleplus-m.png +0 -0
  140. data/templates/foundation/images/fairhead-icons/fc-webicon-googleplus-s.png +0 -0
  141. data/templates/foundation/images/fairhead-icons/fc-webicon-googleplus.png +0 -0
  142. data/templates/foundation/images/fairhead-icons/fc-webicon-googleplus.svg +52 -0
  143. data/templates/foundation/images/fairhead-icons/fc-webicon-icloud-m.png +0 -0
  144. data/templates/foundation/images/fairhead-icons/fc-webicon-icloud-s.png +0 -0
  145. data/templates/foundation/images/fairhead-icons/fc-webicon-icloud.png +0 -0
  146. data/templates/foundation/images/fairhead-icons/fc-webicon-icloud.svg +26 -0
  147. data/templates/foundation/images/fairhead-icons/fc-webicon-linkedin-m.png +0 -0
  148. data/templates/foundation/images/fairhead-icons/fc-webicon-linkedin-s.png +0 -0
  149. data/templates/foundation/images/fairhead-icons/fc-webicon-linkedin.png +0 -0
  150. data/templates/foundation/images/fairhead-icons/fc-webicon-linkedin.svg +28 -0
  151. data/templates/foundation/images/fairhead-icons/fc-webicon-mail-m.png +0 -0
  152. data/templates/foundation/images/fairhead-icons/fc-webicon-mail-s.png +0 -0
  153. data/templates/foundation/images/fairhead-icons/fc-webicon-mail.png +0 -0
  154. data/templates/foundation/images/fairhead-icons/fc-webicon-mail.svg +27 -0
  155. data/templates/foundation/images/fairhead-icons/fc-webicon-msn-m.png +0 -0
  156. data/templates/foundation/images/fairhead-icons/fc-webicon-msn-s.png +0 -0
  157. data/templates/foundation/images/fairhead-icons/fc-webicon-msn.png +0 -0
  158. data/templates/foundation/images/fairhead-icons/fc-webicon-msn.svg +44 -0
  159. data/templates/foundation/images/fairhead-icons/fc-webicon-pinterest-m.png +0 -0
  160. data/templates/foundation/images/fairhead-icons/fc-webicon-pinterest-s.png +0 -0
  161. data/templates/foundation/images/fairhead-icons/fc-webicon-pinterest.png +0 -0
  162. data/templates/foundation/images/fairhead-icons/fc-webicon-pinterest.svg +42 -0
  163. data/templates/foundation/images/fairhead-icons/fc-webicon-rdio-m.png +0 -0
  164. data/templates/foundation/images/fairhead-icons/fc-webicon-rdio-s.png +0 -0
  165. data/templates/foundation/images/fairhead-icons/fc-webicon-rdio.png +0 -0
  166. data/templates/foundation/images/fairhead-icons/fc-webicon-rdio.svg +18 -0
  167. data/templates/foundation/images/fairhead-icons/fc-webicon-rss-m.png +0 -0
  168. data/templates/foundation/images/fairhead-icons/fc-webicon-rss-s.png +0 -0
  169. data/templates/foundation/images/fairhead-icons/fc-webicon-rss.png +0 -0
  170. data/templates/foundation/images/fairhead-icons/fc-webicon-rss.svg +18 -0
  171. data/templates/foundation/images/fairhead-icons/fc-webicon-skitch-m.png +0 -0
  172. data/templates/foundation/images/fairhead-icons/fc-webicon-skitch-s.png +0 -0
  173. data/templates/foundation/images/fairhead-icons/fc-webicon-skitch.png +0 -0
  174. data/templates/foundation/images/fairhead-icons/fc-webicon-skitch.svg +24 -0
  175. data/templates/foundation/images/fairhead-icons/fc-webicon-skype-m.png +0 -0
  176. data/templates/foundation/images/fairhead-icons/fc-webicon-skype-s.png +0 -0
  177. data/templates/foundation/images/fairhead-icons/fc-webicon-skype.png +0 -0
  178. data/templates/foundation/images/fairhead-icons/fc-webicon-skype.svg +25 -0
  179. data/templates/foundation/images/fairhead-icons/fc-webicon-spotify-m.png +0 -0
  180. data/templates/foundation/images/fairhead-icons/fc-webicon-spotify-s.png +0 -0
  181. data/templates/foundation/images/fairhead-icons/fc-webicon-spotify.png +0 -0
  182. data/templates/foundation/images/fairhead-icons/fc-webicon-spotify.svg +38 -0
  183. data/templates/foundation/images/fairhead-icons/fc-webicon-stumbleupon-m.png +0 -0
  184. data/templates/foundation/images/fairhead-icons/fc-webicon-stumbleupon-s.png +0 -0
  185. data/templates/foundation/images/fairhead-icons/fc-webicon-stumbleupon.png +0 -0
  186. data/templates/foundation/images/fairhead-icons/fc-webicon-stumbleupon.svg +22 -0
  187. data/templates/foundation/images/fairhead-icons/fc-webicon-tumblr-m.png +0 -0
  188. data/templates/foundation/images/fairhead-icons/fc-webicon-tumblr-s.png +0 -0
  189. data/templates/foundation/images/fairhead-icons/fc-webicon-tumblr.png +0 -0
  190. data/templates/foundation/images/fairhead-icons/fc-webicon-tumblr.svg +16 -0
  191. data/templates/foundation/images/fairhead-icons/fc-webicon-twitter-m.png +0 -0
  192. data/templates/foundation/images/fairhead-icons/fc-webicon-twitter-s.png +0 -0
  193. data/templates/foundation/images/fairhead-icons/fc-webicon-twitter.png +0 -0
  194. data/templates/foundation/images/fairhead-icons/fc-webicon-twitter.svg +24 -0
  195. data/templates/foundation/images/fairhead-icons/fc-webicon-vimeo-m.png +0 -0
  196. data/templates/foundation/images/fairhead-icons/fc-webicon-vimeo-s.png +0 -0
  197. data/templates/foundation/images/fairhead-icons/fc-webicon-vimeo.png +0 -0
  198. data/templates/foundation/images/fairhead-icons/fc-webicon-vimeo.svg +20 -0
  199. data/templates/foundation/images/fairhead-icons/fc-webicon-youtube-m.png +0 -0
  200. data/templates/foundation/images/fairhead-icons/fc-webicon-youtube-s.png +0 -0
  201. data/templates/foundation/images/fairhead-icons/fc-webicon-youtube.png +0 -0
  202. data/templates/foundation/images/fairhead-icons/fc-webicon-youtube.svg +106 -0
  203. data/templates/foundation/images/fairhead-icons/fc-webicon-youversion-m.png +0 -0
  204. data/templates/foundation/images/fairhead-icons/fc-webicon-youversion-s.png +0 -0
  205. data/templates/foundation/images/fairhead-icons/fc-webicon-youversion.png +0 -0
  206. data/templates/foundation/images/fairhead-icons/fc-webicon-youversion.svg +54 -0
  207. data/templates/foundation/images/fairhead-icons/fc-webicon-zerply-m.png +0 -0
  208. data/templates/foundation/images/fairhead-icons/fc-webicon-zerply-s.png +0 -0
  209. data/templates/foundation/images/fairhead-icons/fc-webicon-zerply.png +0 -0
  210. data/templates/foundation/images/fairhead-icons/fc-webicon-zerply.svg +20 -0
  211. data/templates/foundation/images/foundation/orbit/bullets.jpg +0 -0
  212. data/templates/foundation/images/foundation/orbit/left-arrow-small.png +0 -0
  213. data/templates/foundation/images/foundation/orbit/left-arrow.png +0 -0
  214. data/templates/foundation/images/foundation/orbit/loading.gif +0 -0
  215. data/templates/foundation/images/foundation/orbit/mask-black.png +0 -0
  216. data/templates/foundation/images/foundation/orbit/pause-black.png +0 -0
  217. data/templates/foundation/images/foundation/orbit/right-arrow-small.png +0 -0
  218. data/templates/foundation/images/foundation/orbit/right-arrow.png +0 -0
  219. data/templates/foundation/images/foundation/orbit/rotator-black.png +0 -0
  220. data/templates/foundation/images/foundation/orbit/timer-black.png +0 -0
  221. data/templates/foundation/index.php +19 -0
  222. data/templates/foundation/javascripts/app.js +38 -0
  223. data/templates/foundation/javascripts/foundation.min.js +77 -0
  224. data/templates/foundation/javascripts/jquery.foundation.accordion.js +39 -0
  225. data/templates/foundation/javascripts/jquery.foundation.alerts.js +20 -0
  226. data/templates/foundation/javascripts/jquery.foundation.buttons.js +79 -0
  227. data/templates/foundation/javascripts/jquery.foundation.clearing.js +480 -0
  228. data/templates/foundation/javascripts/jquery.foundation.forms.js +494 -0
  229. data/templates/foundation/javascripts/jquery.foundation.joyride.js +639 -0
  230. data/templates/foundation/javascripts/jquery.foundation.magellan.js +86 -0
  231. data/templates/foundation/javascripts/jquery.foundation.mediaQueryToggle.js +27 -0
  232. data/templates/foundation/javascripts/jquery.foundation.navigation.js +55 -0
  233. data/templates/foundation/javascripts/jquery.foundation.orbit.js +897 -0
  234. data/templates/foundation/javascripts/jquery.foundation.reveal.js +794 -0
  235. data/templates/foundation/javascripts/jquery.foundation.tabs.js +56 -0
  236. data/templates/foundation/javascripts/jquery.foundation.tooltips.js +193 -0
  237. data/templates/foundation/javascripts/jquery.foundation.topbar.js +156 -0
  238. data/templates/foundation/javascripts/modernizr.foundation.js +4 -0
  239. data/templates/foundation/languages/readme.txt +6 -0
  240. data/templates/foundation/license.txt +281 -0
  241. data/templates/foundation/loop.php +30 -0
  242. data/templates/foundation/manifest.rb +285 -0
  243. data/templates/foundation/options.php +43 -0
  244. data/templates/foundation/page.php +29 -0
  245. data/templates/foundation/print.css +1 -0
  246. data/templates/foundation/print.scss +1 -0
  247. data/templates/foundation/readme.txt +6 -0
  248. data/templates/foundation/sass/_app.scss +50 -0
  249. data/templates/foundation/sass/_settings.scss +243 -0
  250. data/templates/foundation/screen.scss +1 -0
  251. data/templates/foundation/screenshot.png +0 -0
  252. data/templates/foundation/search.php +31 -0
  253. data/templates/{starter → foundation}/search.png +0 -0
  254. data/templates/foundation/searchform.php +14 -0
  255. data/templates/foundation/sidebar.php +15 -0
  256. data/templates/foundation/single.php +31 -0
  257. data/templates/foundation/style.css +17 -0
  258. data/templates/foundation/stylesheets/fc-webicons.css +156 -0
  259. data/templates/foundation/tag.php +41 -0
  260. data/templates/project/404.php +24 -0
  261. data/templates/project/admin/README.txt +25 -0
  262. data/templates/project/admin/assets/css/admin-style.css +838 -0
  263. data/templates/project/admin/assets/css/colorpicker.css +177 -0
  264. data/templates/project/admin/assets/images/1col.png +0 -0
  265. data/templates/project/admin/assets/images/2-col-portfolio.png +0 -0
  266. data/templates/project/admin/assets/images/2cl.png +0 -0
  267. data/templates/project/admin/assets/images/2cr.png +0 -0
  268. data/templates/project/admin/assets/images/3-col-portfolio.png +0 -0
  269. data/templates/project/admin/assets/images/3cm.png +0 -0
  270. data/templates/project/admin/assets/images/3cr.png +0 -0
  271. data/templates/project/admin/assets/images/4-col-portfolio.png +0 -0
  272. data/templates/project/admin/assets/images/accept.png +0 -0
  273. data/templates/project/admin/assets/images/button_check.png +0 -0
  274. data/templates/project/admin/assets/images/colorpicker/blank.gif +0 -0
  275. data/templates/project/admin/assets/images/colorpicker/colorpicker_background.png +0 -0
  276. data/templates/project/admin/assets/images/colorpicker/colorpicker_hex.png +0 -0
  277. data/templates/project/admin/assets/images/colorpicker/colorpicker_hsb_b.png +0 -0
  278. data/templates/project/admin/assets/images/colorpicker/colorpicker_hsb_h.png +0 -0
  279. data/templates/project/admin/assets/images/colorpicker/colorpicker_hsb_s.png +0 -0
  280. data/templates/project/admin/assets/images/colorpicker/colorpicker_indic.gif +0 -0
  281. data/templates/project/admin/assets/images/colorpicker/colorpicker_overlay.png +0 -0
  282. data/templates/project/admin/assets/images/colorpicker/colorpicker_rgb_b.png +0 -0
  283. data/templates/project/admin/assets/images/colorpicker/colorpicker_rgb_g.png +0 -0
  284. data/templates/project/admin/assets/images/colorpicker/colorpicker_rgb_r.png +0 -0
  285. data/templates/project/admin/assets/images/colorpicker/colorpicker_select.gif +0 -0
  286. data/templates/project/admin/assets/images/colorpicker/colorpicker_submit.png +0 -0
  287. data/templates/project/admin/assets/images/colorpicker/select.png +0 -0
  288. data/templates/project/admin/assets/images/dropdown-arrow.png +0 -0
  289. data/templates/project/admin/assets/images/favicon.ico +0 -0
  290. data/templates/project/admin/assets/images/icon-add.png +0 -0
  291. data/templates/project/admin/assets/images/icon-backup.png +0 -0
  292. data/templates/project/admin/assets/images/icon-delete.png +0 -0
  293. data/templates/project/admin/assets/images/icon-docs.png +0 -0
  294. data/templates/project/admin/assets/images/icon-edit.png +0 -0
  295. data/templates/project/admin/assets/images/icon-home.png +0 -0
  296. data/templates/project/admin/assets/images/icon-info.png +0 -0
  297. data/templates/project/admin/assets/images/icon-notice.png +0 -0
  298. data/templates/project/admin/assets/images/icon-paint.png +0 -0
  299. data/templates/project/admin/assets/images/icon-settings.png +0 -0
  300. data/templates/project/admin/assets/images/icon-slider.png +0 -0
  301. data/templates/project/admin/assets/images/icon-warn.png +0 -0
  302. data/templates/project/admin/assets/images/icon_option.png +0 -0
  303. data/templates/project/admin/assets/images/loading-bottom.gif +0 -0
  304. data/templates/project/admin/assets/images/select.png +0 -0
  305. data/templates/project/admin/assets/images/sign_warning.png +0 -0
  306. data/templates/project/admin/assets/images/stop.png +0 -0
  307. data/templates/project/admin/assets/images/toggle_tabs.png +0 -0
  308. data/templates/project/admin/assets/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  309. data/templates/project/admin/assets/images/warning.png +0 -0
  310. data/templates/project/admin/assets/images/wrench.png +0 -0
  311. data/templates/project/admin/assets/images/wrench16.png +0 -0
  312. data/templates/project/admin/assets/js/ajaxupload.js +606 -0
  313. data/templates/project/admin/assets/js/colorpicker.js +455 -0
  314. data/templates/project/admin/assets/js/cookie.js +1 -0
  315. data/templates/project/admin/assets/js/jquery.maskedinput-1.2.2.js +252 -0
  316. data/templates/project/admin/assets/js/jquery.tipsy.js +241 -0
  317. data/templates/project/admin/assets/js/of-medialibrary-uploader.js +168 -0
  318. data/templates/project/admin/assets/js/smof.js +623 -0
  319. data/templates/{starter → project}/admin/classes/class.options-machine.php +0 -0
  320. data/templates/project/admin/front-end/options.php +77 -0
  321. data/templates/project/admin/functions/functions.admin.php +76 -0
  322. data/templates/project/admin/functions/functions.interface.php +232 -0
  323. data/templates/project/admin/functions/functions.load.php +14 -0
  324. data/templates/{starter → project}/admin/functions/functions.mediauploader.php +0 -0
  325. data/templates/project/admin/functions/functions.options.php +508 -0
  326. data/templates/project/admin/functions/functions.php +0 -0
  327. data/templates/project/admin/index.php +87 -0
  328. data/templates/project/admin/layouts/default.css +0 -0
  329. data/templates/project/admin/layouts/placebo.css +0 -0
  330. data/templates/project/archive.php +57 -0
  331. data/templates/{starter → project}/category.php +0 -0
  332. data/templates/project/comments.php +65 -0
  333. data/templates/{starter → project}/content-aside.php +0 -0
  334. data/templates/{starter → project}/content-image.php +0 -0
  335. data/templates/{starter → project}/content-link.php +0 -0
  336. data/templates/{starter → project}/content-none.php +0 -0
  337. data/templates/project/content-page.php +24 -0
  338. data/templates/{starter → project}/content-quote.php +0 -0
  339. data/templates/{starter → project}/content-status.php +0 -0
  340. data/templates/project/content.php +67 -0
  341. data/templates/{starter → project}/editor-style.scss +0 -0
  342. data/templates/project/footer.php +29 -0
  343. data/templates/project/functions.php +1233 -0
  344. data/templates/project/header.php +63 -0
  345. data/templates/project/images/bg/bg0.png +0 -0
  346. data/templates/project/images/bg/bg1.png +0 -0
  347. data/templates/project/images/bg/bg10.png +0 -0
  348. data/templates/project/images/bg/bg11.png +0 -0
  349. data/templates/project/images/bg/bg2.png +0 -0
  350. data/templates/project/images/bg/bg3.png +0 -0
  351. data/templates/project/images/bg/bg4.png +0 -0
  352. data/templates/project/images/bg/bg5.png +0 -0
  353. data/templates/project/images/bg/bg6.jpg +0 -0
  354. data/templates/project/images/bg/bg7.jpg +0 -0
  355. data/templates/project/images/bg/bg8.png +0 -0
  356. data/templates/project/images/bg/bg9.png +0 -0
  357. data/templates/project/index.php +19 -0
  358. data/templates/project/javascripts/app.js +6 -0
  359. data/templates/{starter → project/javascripts}/moderninzr.min.js +0 -0
  360. data/templates/project/languages/readme.txt +6 -0
  361. data/templates/project/license.txt +281 -0
  362. data/templates/{starter → project}/loop.php +0 -0
  363. data/templates/project/manifest.rb +131 -4
  364. data/templates/project/options.php +42 -0
  365. data/templates/project/page.php +29 -0
  366. data/templates/project/readme.txt +6 -1
  367. data/templates/project/screenshot.png +0 -0
  368. data/templates/project/search.php +31 -0
  369. data/templates/project/searchform.php +14 -0
  370. data/templates/project/sidebar.php +15 -0
  371. data/templates/project/single.php +31 -0
  372. data/templates/project/style.css +5 -0
  373. data/templates/{starter → project}/tag.php +0 -0
  374. data/templates/starter/404.php +42 -19
  375. data/templates/starter/README.md +41 -0
  376. data/templates/starter/archive.php +89 -49
  377. data/templates/starter/comments.php +43 -32
  378. data/templates/starter/content-page.php +12 -16
  379. data/templates/starter/content-single.php +59 -0
  380. data/templates/starter/content.php +52 -58
  381. data/templates/starter/footer.php +20 -22
  382. data/templates/starter/functions.php +60 -1156
  383. data/templates/starter/header.php +31 -52
  384. data/templates/starter/image.php +111 -0
  385. data/templates/starter/inc/custom-header.php +184 -0
  386. data/templates/starter/inc/extras.php +79 -0
  387. data/templates/starter/inc/template-tags.php +175 -0
  388. data/templates/starter/inc/theme-options/theme-options.php +306 -0
  389. data/templates/starter/index.php +41 -11
  390. data/templates/starter/javascripts/html5.js +6 -0
  391. data/templates/starter/javascripts/keyboard-image-navigation.js +14 -0
  392. data/templates/starter/javascripts/small-menu.js +39 -0
  393. data/templates/starter/languages/readme.txt +6 -0
  394. data/templates/starter/layouts/content-sidebar-sidebar.css +27 -0
  395. data/templates/starter/layouts/content-sidebar.css +25 -0
  396. data/templates/starter/layouts/sidebar-content-sidebar.css +27 -0
  397. data/templates/starter/layouts/sidebar-content.css +25 -0
  398. data/templates/starter/layouts/sidebar-sidebar-content.css +22 -0
  399. data/templates/starter/license.txt +281 -0
  400. data/templates/starter/manifest.rb +22 -110
  401. data/templates/starter/no-results.php +34 -0
  402. data/templates/starter/page.php +16 -14
  403. data/templates/starter/print.scss +1 -104
  404. data/templates/starter/rtl.css +17 -0
  405. data/templates/starter/screen.scss +653 -1
  406. data/templates/starter/screenshot.png +0 -0
  407. data/templates/starter/search.php +31 -21
  408. data/templates/starter/searchform.php +8 -9
  409. data/templates/starter/sidebar.php +29 -10
  410. data/templates/starter/single.php +24 -21
  411. data/templates/starter/style.css +10 -6
  412. metadata +401 -100
  413. data/templates/project/print.css +0 -4
  414. data/templates/starter/admin/functions/functions.options.php +0 -507
  415. data/templates/starter/app.js +0 -97
  416. data/templates/starter/options.php +0 -407
  417. data/templates/starter/readme.txt +0 -1
@@ -0,0 +1,175 @@
1
+ <?php
2
+ /**
3
+ * Custom template tags for this theme.
4
+ *
5
+ * Eventually, some of the functionality here could be replaced by core features
6
+ *
7
+ * @package starter
8
+ * @since starter 1.0
9
+ */
10
+
11
+ if ( ! function_exists( 'starter_content_nav' ) ) :
12
+ /**
13
+ * Display navigation to next/previous pages when applicable
14
+ *
15
+ * @since starter 1.0
16
+ */
17
+ function starter_content_nav( $nav_id ) {
18
+ global $wp_query, $post;
19
+
20
+ // Don't print empty markup on single pages if there's nowhere to navigate.
21
+ if ( is_single() ) {
22
+ $previous = ( is_attachment() ) ? get_post( $post->post_parent ) : get_adjacent_post( false, '', true );
23
+ $next = get_adjacent_post( false, '', false );
24
+
25
+ if ( ! $next && ! $previous )
26
+ return;
27
+ }
28
+
29
+ // Don't print empty markup in archives if there's only one page.
30
+ if ( $wp_query->max_num_pages < 2 && ( is_home() || is_archive() || is_search() ) )
31
+ return;
32
+
33
+ $nav_class = 'site-navigation paging-navigation';
34
+ if ( is_single() )
35
+ $nav_class = 'site-navigation post-navigation';
36
+
37
+ ?>
38
+ <nav role="navigation" id="<?php echo $nav_id; ?>" class="<?php echo $nav_class; ?>">
39
+ <h1 class="assistive-text"><?php _e( 'Post navigation', 'starter' ); ?></h1>
40
+
41
+ <?php if ( is_single() ) : // navigation links for single posts ?>
42
+
43
+ <?php previous_post_link( '<div class="nav-previous">%link</div>', '<span class="meta-nav">' . _x( '&larr;', 'Previous post link', 'starter' ) . '</span> %title' ); ?>
44
+ <?php next_post_link( '<div class="nav-next">%link</div>', '%title <span class="meta-nav">' . _x( '&rarr;', 'Next post link', 'starter' ) . '</span>' ); ?>
45
+
46
+ <?php elseif ( $wp_query->max_num_pages > 1 && ( is_home() || is_archive() || is_search() ) ) : // navigation links for home, archive, and search pages ?>
47
+
48
+ <?php if ( get_next_posts_link() ) : ?>
49
+ <div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&larr;</span> Older posts', 'starter' ) ); ?></div>
50
+ <?php endif; ?>
51
+
52
+ <?php if ( get_previous_posts_link() ) : ?>
53
+ <div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&rarr;</span>', 'starter' ) ); ?></div>
54
+ <?php endif; ?>
55
+
56
+ <?php endif; ?>
57
+
58
+ </nav><!-- #<?php echo $nav_id; ?> -->
59
+ <?php
60
+ }
61
+ endif; // starter_content_nav
62
+
63
+ if ( ! function_exists( 'starter_comment' ) ) :
64
+ /**
65
+ * Template for comments and pingbacks.
66
+ *
67
+ * Used as a callback by wp_list_comments() for displaying the comments.
68
+ *
69
+ * @since starter 1.0
70
+ */
71
+ function starter_comment( $comment, $args, $depth ) {
72
+ $GLOBALS['comment'] = $comment;
73
+ switch ( $comment->comment_type ) :
74
+ case 'pingback' :
75
+ case 'trackback' :
76
+ ?>
77
+ <li class="post pingback">
78
+ <p><?php _e( 'Pingback:', 'starter' ); ?> <?php comment_author_link(); ?><?php edit_comment_link( __( '(Edit)', 'starter' ), ' ' ); ?></p>
79
+ <?php
80
+ break;
81
+ default :
82
+ ?>
83
+ <li <?php comment_class(); ?> id="li-comment-<?php comment_ID(); ?>">
84
+ <article id="comment-<?php comment_ID(); ?>" class="comment">
85
+ <footer>
86
+ <div class="comment-author vcard">
87
+ <?php echo get_avatar( $comment, 40 ); ?>
88
+ <?php printf( __( '%s <span class="says">says:</span>', 'starter' ), sprintf( '<cite class="fn">%s</cite>', get_comment_author_link() ) ); ?>
89
+ </div><!-- .comment-author .vcard -->
90
+ <?php if ( $comment->comment_approved == '0' ) : ?>
91
+ <em><?php _e( 'Your comment is awaiting moderation.', 'starter' ); ?></em>
92
+ <br />
93
+ <?php endif; ?>
94
+
95
+ <div class="comment-meta commentmetadata">
96
+ <a href="<?php echo esc_url( get_comment_link( $comment->comment_ID ) ); ?>"><time pubdate datetime="<?php comment_time( 'c' ); ?>">
97
+ <?php
98
+ /* translators: 1: date, 2: time */
99
+ printf( __( '%1$s at %2$s', 'starter' ), get_comment_date(), get_comment_time() ); ?>
100
+ </time></a>
101
+ <?php edit_comment_link( __( '(Edit)', 'starter' ), ' ' );
102
+ ?>
103
+ </div><!-- .comment-meta .commentmetadata -->
104
+ </footer>
105
+
106
+ <div class="comment-content"><?php comment_text(); ?></div>
107
+
108
+ <div class="reply">
109
+ <?php comment_reply_link( array_merge( $args, array( 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
110
+ </div><!-- .reply -->
111
+ </article><!-- #comment-## -->
112
+
113
+ <?php
114
+ break;
115
+ endswitch;
116
+ }
117
+ endif; // ends check for starter_comment()
118
+
119
+ if ( ! function_exists( 'starter_posted_on' ) ) :
120
+ /**
121
+ * Prints HTML with meta information for the current post-date/time and author.
122
+ *
123
+ * @since starter 1.0
124
+ */
125
+ function starter_posted_on() {
126
+ printf( __( 'Posted on <a href="%1$s" title="%2$s" rel="bookmark"><time class="entry-date" datetime="%3$s" pubdate>%4$s</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="%5$s" title="%6$s" rel="author">%7$s</a></span></span>', 'starter' ),
127
+ esc_url( get_permalink() ),
128
+ esc_attr( get_the_time() ),
129
+ esc_attr( get_the_date( 'c' ) ),
130
+ esc_html( get_the_date() ),
131
+ esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
132
+ esc_attr( sprintf( __( 'View all posts by %s', 'starter' ), get_the_author() ) ),
133
+ esc_html( get_the_author() )
134
+ );
135
+ }
136
+ endif;
137
+
138
+ /**
139
+ * Returns true if a blog has more than 1 category
140
+ *
141
+ * @since starter 1.0
142
+ */
143
+ function starter_categorized_blog() {
144
+ if ( false === ( $all_the_cool_cats = get_transient( 'all_the_cool_cats' ) ) ) {
145
+ // Create an array of all the categories that are attached to posts
146
+ $all_the_cool_cats = get_categories( array(
147
+ 'hide_empty' => 1,
148
+ ) );
149
+
150
+ // Count the number of categories that are attached to the posts
151
+ $all_the_cool_cats = count( $all_the_cool_cats );
152
+
153
+ set_transient( 'all_the_cool_cats', $all_the_cool_cats );
154
+ }
155
+
156
+ if ( '1' != $all_the_cool_cats ) {
157
+ // This blog has more than 1 category so starter_categorized_blog should return true
158
+ return true;
159
+ } else {
160
+ // This blog has only 1 category so starter_categorized_blog should return false
161
+ return false;
162
+ }
163
+ }
164
+
165
+ /**
166
+ * Flush out the transients used in starter_categorized_blog
167
+ *
168
+ * @since starter 1.0
169
+ */
170
+ function starter_category_transient_flusher() {
171
+ // Like, beat it. Dig?
172
+ delete_transient( 'all_the_cool_cats' );
173
+ }
174
+ add_action( 'edit_category', 'starter_category_transient_flusher' );
175
+ add_action( 'save_post', 'starter_category_transient_flusher' );
@@ -0,0 +1,306 @@
1
+ <?php
2
+ /**
3
+ * starter Theme Options
4
+ *
5
+ * @package starter
6
+ * @since starter 1.0
7
+ */
8
+
9
+ /**
10
+ * Register the form setting for our starter_options array.
11
+ *
12
+ * This function is attached to the admin_init action hook.
13
+ *
14
+ * This call to register_setting() registers a validation callback, starter_theme_options_validate(),
15
+ * which is used when the option is saved, to ensure that our option values are properly
16
+ * formatted, and safe.
17
+ *
18
+ * @since starter 1.0
19
+ */
20
+ function starter_theme_options_init() {
21
+ register_setting(
22
+ 'starter_options', // Options group, see settings_fields() call in starter_theme_options_render_page()
23
+ 'starter_theme_options', // Database option, see starter_get_theme_options()
24
+ 'starter_theme_options_validate' // The sanitization callback, see starter_theme_options_validate()
25
+ );
26
+
27
+ // Register our settings field group
28
+ add_settings_section(
29
+ 'general', // Unique identifier for the settings section
30
+ '', // Section title (we don't want one)
31
+ '__return_false', // Section callback (we don't want anything)
32
+ 'theme_options' // Menu slug, used to uniquely identify the page; see starter_theme_options_add_page()
33
+ );
34
+
35
+ // Register our individual settings fields
36
+ add_settings_field(
37
+ 'sample_checkbox', // Unique identifier for the field for this section
38
+ __( 'Sample Checkbox', 'starter' ), // Setting field label
39
+ 'starter_settings_field_sample_checkbox', // Function that renders the settings field
40
+ 'theme_options', // Menu slug, used to uniquely identify the page; see starter_theme_options_add_page()
41
+ 'general' // Settings section. Same as the first argument in the add_settings_section() above
42
+ );
43
+
44
+ add_settings_field( 'sample_text_input', __( 'Sample Text Input', 'starter' ), 'starter_settings_field_sample_text_input', 'theme_options', 'general' );
45
+ add_settings_field( 'sample_select_options', __( 'Sample Select Options', 'starter' ), 'starter_settings_field_sample_select_options', 'theme_options', 'general' );
46
+ add_settings_field( 'sample_radio_buttons', __( 'Sample Radio Buttons', 'starter' ), 'starter_settings_field_sample_radio_buttons', 'theme_options', 'general' );
47
+ add_settings_field( 'sample_textarea', __( 'Sample Textarea', 'starter' ), 'starter_settings_field_sample_textarea', 'theme_options', 'general' );
48
+ }
49
+ add_action( 'admin_init', 'starter_theme_options_init' );
50
+
51
+ /**
52
+ * Change the capability required to save the 'starter_options' options group.
53
+ *
54
+ * @see starter_theme_options_init() First parameter to register_setting() is the name of the options group.
55
+ * @see starter_theme_options_add_page() The edit_theme_options capability is used for viewing the page.
56
+ *
57
+ * @param string $capability The capability used for the page, which is manage_options by default.
58
+ * @return string The capability to actually use.
59
+ */
60
+ function starter_option_page_capability( $capability ) {
61
+ return 'edit_theme_options';
62
+ }
63
+ add_filter( 'option_page_capability_starter_options', 'starter_option_page_capability' );
64
+
65
+ /**
66
+ * Add our theme options page to the admin menu.
67
+ *
68
+ * This function is attached to the admin_menu action hook.
69
+ *
70
+ * @since starter 1.0
71
+ */
72
+ function starter_theme_options_add_page() {
73
+ $theme_page = add_theme_page(
74
+ __( 'Theme Options', 'starter' ), // Name of page
75
+ __( 'Theme Options', 'starter' ), // Label in menu
76
+ 'edit_theme_options', // Capability required
77
+ 'theme_options', // Menu slug, used to uniquely identify the page
78
+ 'starter_theme_options_render_page' // Function that renders the options page
79
+ );
80
+ }
81
+ add_action( 'admin_menu', 'starter_theme_options_add_page' );
82
+
83
+ /**
84
+ * Returns an array of sample select options registered for starter.
85
+ *
86
+ * @since starter 1.0
87
+ */
88
+ function starter_sample_select_options() {
89
+ $sample_select_options = array(
90
+ '0' => array(
91
+ 'value' => '0',
92
+ 'label' => __( 'Zero', 'starter' )
93
+ ),
94
+ '1' => array(
95
+ 'value' => '1',
96
+ 'label' => __( 'One', 'starter' )
97
+ ),
98
+ '2' => array(
99
+ 'value' => '2',
100
+ 'label' => __( 'Two', 'starter' )
101
+ ),
102
+ '3' => array(
103
+ 'value' => '3',
104
+ 'label' => __( 'Three', 'starter' )
105
+ ),
106
+ '4' => array(
107
+ 'value' => '4',
108
+ 'label' => __( 'Four', 'starter' )
109
+ ),
110
+ '5' => array(
111
+ 'value' => '5',
112
+ 'label' => __( 'Five', 'starter' )
113
+ )
114
+ );
115
+
116
+ return apply_filters( 'starter_sample_select_options', $sample_select_options );
117
+ }
118
+
119
+ /**
120
+ * Returns an array of sample radio options registered for starter.
121
+ *
122
+ * @since starter 1.0
123
+ */
124
+ function starter_sample_radio_buttons() {
125
+ $sample_radio_buttons = array(
126
+ 'yes' => array(
127
+ 'value' => 'yes',
128
+ 'label' => __( 'Yes', 'starter' )
129
+ ),
130
+ 'no' => array(
131
+ 'value' => 'no',
132
+ 'label' => __( 'No', 'starter' )
133
+ ),
134
+ 'maybe' => array(
135
+ 'value' => 'maybe',
136
+ 'label' => __( 'Maybe', 'starter' )
137
+ )
138
+ );
139
+
140
+ return apply_filters( 'starter_sample_radio_buttons', $sample_radio_buttons );
141
+ }
142
+
143
+ /**
144
+ * Returns the options array for starter.
145
+ *
146
+ * @since starter 1.0
147
+ */
148
+ function starter_get_theme_options() {
149
+ $saved = (array) get_option( 'starter_theme_options' );
150
+ $defaults = array(
151
+ 'sample_checkbox' => 'off',
152
+ 'sample_text_input' => '',
153
+ 'sample_select_options' => '',
154
+ 'sample_radio_buttons' => '',
155
+ 'sample_textarea' => '',
156
+ );
157
+
158
+ $defaults = apply_filters( 'starter_default_theme_options', $defaults );
159
+
160
+ $options = wp_parse_args( $saved, $defaults );
161
+ $options = array_intersect_key( $options, $defaults );
162
+
163
+ return $options;
164
+ }
165
+
166
+ /**
167
+ * Renders the sample checkbox setting field.
168
+ */
169
+ function starter_settings_field_sample_checkbox() {
170
+ $options = starter_get_theme_options();
171
+ ?>
172
+ <label for="sample-checkbox">
173
+ <input type="checkbox" name="starter_theme_options[sample_checkbox]" id="sample-checkbox" <?php checked( 'on', $options['sample_checkbox'] ); ?> />
174
+ <?php _e( 'A sample checkbox.', 'starter' ); ?>
175
+ </label>
176
+ <?php
177
+ }
178
+
179
+ /**
180
+ * Renders the sample text input setting field.
181
+ */
182
+ function starter_settings_field_sample_text_input() {
183
+ $options = starter_get_theme_options();
184
+ ?>
185
+ <input type="text" name="starter_theme_options[sample_text_input]" id="sample-text-input" value="<?php echo esc_attr( $options['sample_text_input'] ); ?>" />
186
+ <label class="description" for="sample-text-input"><?php _e( 'Sample text input', 'starter' ); ?></label>
187
+ <?php
188
+ }
189
+
190
+ /**
191
+ * Renders the sample select options setting field.
192
+ */
193
+ function starter_settings_field_sample_select_options() {
194
+ $options = starter_get_theme_options();
195
+ ?>
196
+ <select name="starter_theme_options[sample_select_options]" id="sample-select-options">
197
+ <?php
198
+ $selected = $options['sample_select_options'];
199
+ $p = '';
200
+ $r = '';
201
+
202
+ foreach ( starter_sample_select_options() as $option ) {
203
+ $label = $option['label'];
204
+ if ( $selected == $option['value'] ) // Make default first in list
205
+ $p = "\n\t<option style=\"padding-right: 10px;\" selected='selected' value='" . esc_attr( $option['value'] ) . "'>$label</option>";
206
+ else
207
+ $r .= "\n\t<option style=\"padding-right: 10px;\" value='" . esc_attr( $option['value'] ) . "'>$label</option>";
208
+ }
209
+ echo $p . $r;
210
+ ?>
211
+ </select>
212
+ <label class="description" for="sample_theme_options[selectinput]"><?php _e( 'Sample select input', 'starter' ); ?></label>
213
+ <?php
214
+ }
215
+
216
+ /**
217
+ * Renders the radio options setting field.
218
+ *
219
+ * @since starter 1.0
220
+ */
221
+ function starter_settings_field_sample_radio_buttons() {
222
+ $options = starter_get_theme_options();
223
+
224
+ foreach ( starter_sample_radio_buttons() as $button ) {
225
+ ?>
226
+ <div class="layout">
227
+ <label class="description">
228
+ <input type="radio" name="starter_theme_options[sample_radio_buttons]" value="<?php echo esc_attr( $button['value'] ); ?>" <?php checked( $options['sample_radio_buttons'], $button['value'] ); ?> />
229
+ <?php echo $button['label']; ?>
230
+ </label>
231
+ </div>
232
+ <?php
233
+ }
234
+ }
235
+
236
+ /**
237
+ * Renders the sample textarea setting field.
238
+ */
239
+ function starter_settings_field_sample_textarea() {
240
+ $options = starter_get_theme_options();
241
+ ?>
242
+ <textarea class="large-text" type="text" name="starter_theme_options[sample_textarea]" id="sample-textarea" cols="50" rows="10" /><?php echo esc_textarea( $options['sample_textarea'] ); ?></textarea>
243
+ <label class="description" for="sample-textarea"><?php _e( 'Sample textarea', 'starter' ); ?></label>
244
+ <?php
245
+ }
246
+
247
+ /**
248
+ * Renders the Theme Options administration screen.
249
+ *
250
+ * @since starter 1.0
251
+ */
252
+ function starter_theme_options_render_page() {
253
+ ?>
254
+ <div class="wrap">
255
+ <?php screen_icon(); ?>
256
+ <?php $theme_name = function_exists( 'wp_get_theme' ) ? wp_get_theme() : get_current_theme(); ?>
257
+ <h2><?php printf( __( '%s Theme Options', 'starter' ), $theme_name ); ?></h2>
258
+ <?php settings_errors(); ?>
259
+
260
+ <form method="post" action="options.php">
261
+ <?php
262
+ settings_fields( 'starter_options' );
263
+ do_settings_sections( 'theme_options' );
264
+ submit_button();
265
+ ?>
266
+ </form>
267
+ </div>
268
+ <?php
269
+ }
270
+
271
+ /**
272
+ * Sanitize and validate form input. Accepts an array, return a sanitized array.
273
+ *
274
+ * @see starter_theme_options_init()
275
+ * @todo set up Reset Options action
276
+ *
277
+ * @param array $input Unknown values.
278
+ * @return array Sanitized theme options ready to be stored in the database.
279
+ *
280
+ * @since starter 1.0
281
+ */
282
+ function starter_theme_options_validate( $input ) {
283
+ $output = array();
284
+
285
+ // Checkboxes will only be present if checked.
286
+ if ( isset( $input['sample_checkbox'] ) )
287
+ $output['sample_checkbox'] = 'on';
288
+
289
+ // The sample text input must be safe text with no HTML tags
290
+ if ( isset( $input['sample_text_input'] ) && ! empty( $input['sample_text_input'] ) )
291
+ $output['sample_text_input'] = wp_filter_nohtml_kses( $input['sample_text_input'] );
292
+
293
+ // The sample select option must actually be in the array of select options
294
+ if ( isset( $input['sample_select_options'] ) && array_key_exists( $input['sample_select_options'], starter_sample_select_options() ) )
295
+ $output['sample_select_options'] = $input['sample_select_options'];
296
+
297
+ // The sample radio button value must be in our array of radio button values
298
+ if ( isset( $input['sample_radio_buttons'] ) && array_key_exists( $input['sample_radio_buttons'], starter_sample_radio_buttons() ) )
299
+ $output['sample_radio_buttons'] = $input['sample_radio_buttons'];
300
+
301
+ // The sample textarea must be safe text with the allowed tags for posts
302
+ if ( isset( $input['sample_textarea'] ) && ! empty( $input['sample_textarea'] ) )
303
+ $output['sample_textarea'] = wp_filter_post_kses( $input['sample_textarea'] );
304
+
305
+ return apply_filters( 'starter_theme_options_validate', $output, $input );
306
+ }