PageRenderTime 67ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/wp-content/plugins/LayerSlider/views/slider_list.php

https://gitlab.com/webkod3r/tripolis
PHP | 580 lines | 518 code | 49 blank | 13 comment | 39 complexity | d5395c4a2b1da567f2363528933ddf9f MD5 | raw file
  1. <?php
  2. if(!defined('LS_ROOT_FILE')) {
  3. header('HTTP/1.0 403 Forbidden');
  4. exit;
  5. }
  6. // Get screen options
  7. $lsScreenOptions = get_option('ls-screen-options', '0');
  8. $lsScreenOptions = ($lsScreenOptions == 0) ? array() : $lsScreenOptions;
  9. $lsScreenOptions = is_array($lsScreenOptions) ? $lsScreenOptions : unserialize($lsScreenOptions);
  10. // Defaults
  11. if(!isset($lsScreenOptions['showTooltips'])) { $lsScreenOptions['showTooltips'] = 'true'; }
  12. if(!isset($lsScreenOptions['showRemovedSliders'])) { $lsScreenOptions['showRemovedSliders'] = 'false'; }
  13. if(!isset($lsScreenOptions['numberOfSliders'])) { $lsScreenOptions['numberOfSliders'] = '20'; }
  14. // Get current page
  15. $curPage = (!empty($_GET['paged']) && is_numeric($_GET['paged'])) ? (int) $_GET['paged'] : 1;
  16. // $curPage = ($curPage >= $maxPage) ? $maxPage : $curPage;
  17. // Set filters
  18. $filters = array('page' => $curPage, 'limit' => (int) $lsScreenOptions['numberOfSliders']);
  19. if($lsScreenOptions['showRemovedSliders'] == 'true') {
  20. $filters['exclude'] = array('hidden'); }
  21. // Find sliders
  22. $sliders = LS_Sliders::find($filters);
  23. // Pager
  24. $maxItem = LS_Sliders::$count;
  25. $maxPage = ceil($maxItem / (int) $lsScreenOptions['numberOfSliders']);
  26. $maxPage = $maxPage ? $maxPage : 1;
  27. // Custom capability
  28. $custom_capability = $custom_role = get_option('layerslider_custom_capability', 'manage_options');
  29. $default_capabilities = array('manage_network', 'manage_options', 'publish_pages', 'publish_posts', 'edit_posts');
  30. if(in_array($custom_capability, $default_capabilities)) {
  31. $custom_capability = '';
  32. } else {
  33. $custom_role = 'custom';
  34. }
  35. // Auto-updates
  36. $code = get_option('layerslider-purchase-code', '');
  37. $codeFormatted = '';
  38. if(!empty($code)) {
  39. $start = substr($code, 0, -6);
  40. $end = substr($code, -6);
  41. $codeFormatted = preg_replace("/[a-zA-Z0-9]/", '●', $start) . $end;
  42. $codeFormatted = str_replace('-', ' ', $codeFormatted);
  43. }
  44. $validity = get_option('layerslider-authorized-site', '0');
  45. $channel = get_option('layerslider-release-channel', 'stable');
  46. // Google Fonts
  47. $googleFonts = get_option('ls-google-fonts', array());
  48. $googleFontScripts = get_option('ls-google-font-scripts', array('latin', 'latin-ext'));
  49. // Notification messages
  50. $notifications = array(
  51. 'removeSelectError' => __('No sliders were selected to remove.', 'LayerSlider'),
  52. 'removeSuccess' => __('The selected sliders were removed.', 'LayerSlider'),
  53. 'deleteSelectError' => __('No sliders were selected.', 'LayerSlider'),
  54. 'deleteSuccess' => __('The selected sliders were permanently deleted.', 'LayerSlider'),
  55. 'mergeSelectError' => __('You need to select at least 2 sliders to merge them.', 'LayerSlider'),
  56. 'mergeSuccess' => __('The selected items were merged together as a new slider.', 'LayerSlider'),
  57. 'restoreSelectError' => __('No sliders were selected.', 'LayerSlider'),
  58. 'restoreSuccess' => __('The selected sliders were restored.', 'LayerSlider'),
  59. 'exportNotFound' => __('No sliders were found to export.', 'LayerSlider'),
  60. 'exportSelectError' => __('No sliders were selected to export.', 'LayerSlider'),
  61. 'exportZipError' => __('The PHP ZipArchive extension is required to import .zip files.', 'LayerSlider'),
  62. 'importSelectError' => __('Choose a file to import sliders.', 'LayerSlider'),
  63. 'importFailed' => __('The import file seems to be invalid or corrupted.', 'LayerSlider'),
  64. 'importSuccess' => __('Your slider has been imported.', 'LayerSlider'),
  65. 'permissionError' => __('Your account does not have the necessary permission you have chosen, and your settings have not been saved in order to prevent locking yourself out of the plugin.', 'LayerSlider'),
  66. 'permissionSuccess' => __('Permission changes has been updated.', 'LayerSlider'),
  67. 'googleFontsUpdated' => __('Your Google Fonts library has been updated.', 'LayerSlider'),
  68. 'generalUpdated' => __('Your settings has been updated.', 'LayerSlider')
  69. );
  70. ?>
  71. <div id="ls-screen-options" class="metabox-prefs hidden">
  72. <div id="screen-options-wrap" class="hidden">
  73. <form id="ls-screen-options-form" action="<?php echo $_SERVER['REQUEST_URI']?>" method="post">
  74. <h5><?php _e('Show on screen', 'LayerSlider') ?></h5>
  75. <label><input type="checkbox" name="showTooltips"<?php echo $lsScreenOptions['showTooltips'] == 'true' ? ' checked="checked"' : ''?>> <?php _e('Tooltips', 'LayerSlider') ?></label>
  76. <label><input type="checkbox" name="showRemovedSliders" class="reload"<?php echo $lsScreenOptions['showRemovedSliders'] == 'true' ? ' checked="checked"' : ''?>> <?php _e('Removed sliders', 'LayerSlider') ?></label><br><br>
  77. <?php _e('Show me', 'LayerSlider') ?> <input type="number" name="numberOfSliders" min="3" step="1" value="<?php echo $lsScreenOptions['numberOfSliders'] ?>"> <?php _e('sliders per page', 'LayerSlider') ?>
  78. <button class="button"><?php _e('Apply', 'LayerSlider') ?></button>
  79. </form>
  80. </div>
  81. <div id="screen-options-link-wrap" class="hide-if-no-js screen-meta-toggle">
  82. <button type="button" id="show-settings-link" class="button show-settings" aria-controls="screen-options-wrap" aria-expanded="false"><?php _e('Screen Options', 'LayerSlider') ?></button>
  83. </div>
  84. </div>
  85. <!-- WP hack to place notification at the top of page -->
  86. <div class="wrap ls-wp-hack">
  87. <h2></h2>
  88. <!-- Error messages -->
  89. <?php if(isset($_GET['message'])) : ?>
  90. <div class="ls-notification <?php echo isset($_GET['error']) ? 'error' : 'updated' ?>">
  91. <div><?php echo $notifications[ $_GET['message'] ] ?></div>
  92. </div>
  93. <?php endif; ?>
  94. <!-- End of error messages -->
  95. </div>
  96. <div class="wrap" id="ls-list-page">
  97. <h2>
  98. <?php _e('LayerSlider sliders', 'LayerSlider') ?>
  99. <a href="#" id="ls-add-slider-button" class="add-new-h2"><?php _e('Add New', 'LayerSlider') ?></a>
  100. <a href="#" id="ls-import-samples-button" class="add-new-h2"><?php _e('Import sample sliders', 'LayerSlider') ?></a>
  101. </h2>
  102. <!-- Version number -->
  103. <?php include LS_ROOT_PATH . '/templates/tmpl-beta-feedback.php'; ?>
  104. <!-- Add slider template -->
  105. <?php include LS_ROOT_PATH . '/templates/tmpl-add-slider.php'; ?>
  106. <!-- Import sample sliders template -->
  107. <?php include LS_ROOT_PATH . '/templates/tmpl-demo-sliders.php'; ?>
  108. <!-- Share sheet template -->
  109. <?php include LS_ROOT_PATH . '/templates/tmpl-share-sheet.php'; ?>
  110. <!-- Auto-update revalidation -->
  111. <?php include LS_ROOT_PATH . '/templates/tmpl-updates-revalidation.php'; ?>
  112. <?php if(empty($sliders)) : ?>
  113. <div id="ls-no-sliders">
  114. <span><?php _e('You haven\'t created any slider yet.', 'LayerSlider') ?></span><br>
  115. <span><?php _e('Click those buttons to add one or import our demo content.', 'LayerSlider') ?></span>
  116. </div>
  117. <?php endif; ?>
  118. <?php if(!empty($sliders)) : ?>
  119. <form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="post" class="ls-slider-list-form">
  120. <input type="hidden" name="ls-bulk-action" value="1">
  121. <?php wp_nonce_field('bulk-action'); ?>
  122. <div class="ls-box ls-sliders-list">
  123. <table>
  124. <thead class="header">
  125. <tr>
  126. <td></td>
  127. <td><?php _e('ID', 'LayerSlider') ?></td>
  128. <td class="preview"><?php _e('Slider preview', 'LayerSlider') ?></td>
  129. <td><?php _e('Name', 'LayerSlider') ?></td>
  130. <td><?php _e('Shortcode', 'LayerSlider') ?></td>
  131. <td><?php _e('Slides', 'LayerSlider') ?></td>
  132. <td><?php _e('Created', 'LayerSlider') ?></td>
  133. <td><?php _e('Modified', 'LayerSlider') ?></td>
  134. <td></td>
  135. </tr>
  136. </thead>
  137. <tbody>
  138. <?php foreach($sliders as $key => $item) : ?>
  139. <?php $class = ($item['flag_deleted'] == '1') ? ' class="faded"' : '' ?>
  140. <tr<?php echo $class ?>>
  141. <td><input type="checkbox" name="sliders[]" value="<?php echo $item['id'] ?>"></td>
  142. <td><?php echo $item['id'] ?></td>
  143. <td class="preview">
  144. <div>
  145. <a href="?page=layerslider&action=edit&id=<?php echo $item['id'] ?>">
  146. <img src="<?php echo apply_filters('ls_get_preview_for_slider', $item ) ?>" alt="Slider preview">
  147. </a>
  148. </div>
  149. </td>
  150. <td class="name">
  151. <a href="?page=layerslider&action=edit&id=<?php echo $item['id'] ?>">
  152. <?php echo apply_filters('ls_slider_title', $item['name'], 40) ?>
  153. </a>
  154. </td>
  155. <td><input type="text" class="ls-shortcode" value="[layerslider id=&quot;<?php echo !empty($item['slug']) ? $item['slug'] : $item['id'] ?>&quot;]" readonly></td>
  156. <td><?php echo isset($item['data']['layers']) ? count($item['data']['layers']) : 0 ?></td>
  157. <td><?php echo date('d/m/y', $item['date_c']) ?></td>
  158. <td><?php echo human_time_diff($item['date_m']) ?> <?php _e('ago', 'LayerSlider') ?></td>
  159. <td>
  160. <?php if(!$item['flag_deleted']) : ?>
  161. <a href="<?php echo wp_nonce_url('?page=layerslider&action=duplicate&id='.$item['id'], 'duplicate_'.$item['id']) ?>">
  162. <span class="dashicons dashicons-admin-page" data-help="<?php _e('Duplicate this slider', 'LayerSlider') ?>"></span>
  163. </a>
  164. <a href="<?php echo wp_nonce_url('?page=layerslider&action=remove&id='.$item['id'], 'remove_'.$item['id']) ?>" class="remove">
  165. <span class="dashicons dashicons-trash" data-help="<?php _e('Remove this slider', 'LayerSlider') ?>"></span>
  166. </a>
  167. <?php else : ?>
  168. <a href="<?php echo wp_nonce_url('?page=layerslider&action=restore&id='.$item['id'], 'restore_'.$item['id']) ?>">
  169. <span class="dashicons dashicons-backup" data-help="<?php _e('Restore removed slider', 'LayerSlider') ?>"></span>
  170. </a>
  171. <?php endif; ?>
  172. </td>
  173. </tr>
  174. <?php endforeach; ?>
  175. </tbody>
  176. </table>
  177. <div class="ls-bulk-actions">
  178. <select name="action">
  179. <option value="0"><?php _e('Bulk Actions', 'LayerSlider') ?></option>
  180. <option value="remove"><?php _e('Remove selected', 'LayerSlider') ?></option>
  181. <option value="delete"><?php _e('Delete permanently', 'LayerSlider') ?></option>
  182. <?php if($lsScreenOptions['showRemovedSliders'] == 'true') : ?>
  183. <option value="restore"><?php _e('Restore removed', 'LayerSlider') ?></option>
  184. <?php endif; ?>
  185. <option value="merge"><?php _e('Merge selected as new', 'LayerSlider') ?></option>
  186. </select>
  187. <button class="button"><?php _e('Apply', 'LayerSlider') ?></button>
  188. </div>
  189. <div class="ls-pagination tablenav bottom">
  190. <div class="tablenav-pages">
  191. <span class="displaying-num"><?php echo $maxItem ?> <?php _e('items', 'LayerSlider') ?></span>
  192. <span class="pagination-links">
  193. <a class="first-page<?php echo ($curPage <= 1) ? ' disabled' : ''; ?>" title="Go to the first page" href="admin.php?page=layerslider">«</a>
  194. <a class="prev-page <?php echo ($curPage <= 1) ? ' disabled' : ''; ?>" title="Go to the previous page" href="admin.php?page=layerslider&amp;paged=<?php echo ($curPage-1) ?>"></a>
  195. <form action="admin.php" method="get" class="paging-input">
  196. <input type="hidden" name="page" value="layerslider">
  197. <input class="current-page" title="Current page" type="text" name="paged" value="<?php echo $curPage ?>" size="1"> of
  198. <span class="total-pages"><?php echo $maxPage ?></span>
  199. </form>
  200. <a class="next-page <?php echo ($curPage >= $maxPage) ? ' disabled' : ''; ?>" title="Go to the next page" href="admin.php?page=layerslider&amp;paged=<?php echo ($curPage+1) ?>"></a>
  201. <a class="last-page <?php echo ($curPage >= $maxPage) ? ' disabled' : ''; ?>" title="Go to the last page" href="admin.php?page=layerslider&amp;paged=<?php echo $maxPage ?>">»</a>
  202. </span>
  203. </div>
  204. </div>
  205. </div>
  206. </form>
  207. <?php endif ?>
  208. <div class="km-tabs">
  209. <a href="#" class="active"><?php _e('Auto-Updates', 'LayerSlider') ?></a>
  210. <a href="#"><?php _e('Import / Export', 'LayerSlider') ?></a>
  211. <a href="#"><?php _e('Permissions', 'LayerSlider') ?></a>
  212. <a href="#"><?php _e('Google Fonts', 'LayerSlider') ?></a>
  213. <a href="#"><?php _e('Advanced', 'LayerSlider') ?></a>
  214. </div>
  215. <div class="km-tabs-content ls-plugin-settings">
  216. <!-- Auto-Updates -->
  217. <div class="ls-auto-update active">
  218. <figure>
  219. <?php _e('Receive update notifications and install new versions with 1-Click.', 'LayerSlider') ?>
  220. <a href="http://support.kreaturamedia.com/docs/layersliderwp/documentation.html#updating" target="_blank"><? _e('Read more', 'LayerSlider') ?></a>
  221. <span class="status" style="<?php echo ($validity == '1') ? 'color: #76b546;' : 'color: red'?>">
  222. <?php
  223. if($validity == '1') {
  224. _e('This site is authorized to receive automatic updates.', 'LayerSlider');
  225. } else {
  226. _e("This site is not yet authorized to receive plugin updates.", "LayerSlider");
  227. }
  228. ?>
  229. </span>
  230. </figure>
  231. <form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="post" class="ls-box km-tabs-inner ls-settings">
  232. <input type="hidden" name="action" value="layerslider_authorize_site">
  233. <div class="inner">
  234. <?php _e('Enter your purchase code', 'LayerSlider') ?>
  235. <input type="text" name="purchase_code" value="<?php echo $codeFormatted ?>" class="key" placeholder="e.g. bc8e2b24-3f8c-4b21-8b4b-90d57a38e3c7" data-help="<?php _e('To receive automatic updates, you need to enter your item purchase code. Click on the Download button next to LayerSlider WP on your CodeCanyon downloads page and choose the &quot;License certificate & purchase code&quot; option. This will download a text file that contains your purchase code.', 'LayerSlider') ?>">
  236. <i><?php _e('and', 'LayerSlider') ?></i>
  237. <?php _e('choose release channel', 'LayerSlider') ?>
  238. <label><input type="radio" name="channel" value="stable" <?php echo ($channel === 'stable') ? 'checked="checked"' : ''?>> <?php _e('Stable', 'LayerSlider') ?></label>
  239. <label data-help="<?php _e('Although pre-release versions meant to work properly, they might contain unknown issues, and are not recommended for sites in production.', 'LayerSlider') ?>">
  240. <input type="radio" name="channel" value="beta" <?php echo ($channel === 'beta') ? 'checked="checked"' : ''?>> <?php _e('Beta', 'LayerSlider') ?>
  241. </label>
  242. <p>
  243. <?php _e("You can find your purchase code by selecting the License Certificate option under LayerSlider's Download button on your", "LayerSlider"); ?>
  244. <a href="http://codecanyon.net/downloads?filter_by=codecanyon.net" target="_blank"><?php _e('CodeCanyon Downloads', 'LayerSlider') ?></a>
  245. <?php _e('page.', 'LayerSlider') ?>
  246. </p>
  247. <?php if($GLOBALS['lsAutoUpdateBox'] == false) : ?>
  248. <p>
  249. <?php _e("It seems you've received LayerSlider by a theme. Please note that the auto-update feature only works if you've purchased the plugin directly from us on <a href=\"http://codecanyon.net/item/layerslider-responsive-wordpress-slider-plugin-/1362246\" target=\"_blank\">CodeCanyon</a>.", "LayerSlider"); ?>
  250. </p>
  251. <?php endif ?>
  252. </div>
  253. <div class="footer">
  254. <button class="button"><?php _e('Update', 'LayerSlider') ?></button>
  255. <a href="#" class="ls-deauthorize<?php echo ($validity == '1') ? '' : ' ls-hidden' ?>"><?php _e('Deauthorize this site', 'LayerSlider') ?></a>
  256. <a href="<?php echo LS_REPO_BASE_URL.'download?domain='.base64_encode($_SERVER['SERVER_NAME']).'&channel='.$channel.'&code='.base64_encode($code) ?>" class="<?php echo ($validity == '1') ? '' : ' ls-hidden' ?>"><?php _e('Download latest version manually', 'LayerSlider') ?></a>
  257. <a href="update-core.php" class="<?php echo ($validity == '1') ? '' : 'ls-hidden' ?>"><?php _e('Check for updates', 'LayerSlider') ?></a>
  258. </div>
  259. </form>
  260. </div>
  261. <!-- Import / Export -->
  262. <div class="ls-export-wrapper">
  263. <figure>
  264. <?php _e('Move sliders between sites, make backups, import demo content', 'LayerSlider') ?>
  265. <span class="status <?php echo class_exists('ZipArchive') ? 'available' : 'notavailable' ?>" data-help="<?php _e("The PHP ZipArchive extension is needed for exporting/importing images. The plugin will only copy your slider settings if it's not available. In that case please contact with your hosting provider.", "LayerSlider") ?>">
  266. <?php echo class_exists('ZipArchive') ?
  267. 'ZipArchive is available to import/export images' :
  268. 'ZipArchive isn\'t avilable'
  269. ?>
  270. </span>
  271. </figure>
  272. <div class="km-tabs-inner columns clearfix">
  273. <div class="half">
  274. <div class="ls-import-export-box ls-box">
  275. <form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="post" enctype="multipart/form-data" class="ls-import-box">
  276. <?php wp_nonce_field('import-sliders'); ?>
  277. <input type="hidden" name="ls-import" value="1">
  278. <input type="file" name="import_file" class="ls-import-file">
  279. <button class="button"><?php _e('Import', 'LayerSlider') ?></button><br>
  280. <label><input type="checkbox" name="skip_images" class="checkbox"> <?php _e('Do not import images', 'LayerSlider') ?></label>
  281. <p class="desc">
  282. <?php _e('Choose a LayerSlider export file downloaded previously to import your sliders. In order to import from outdated versions, you need to create a file and paste the export code into it. The file needs to have a .json extension.', 'LayerSlider') ?>
  283. </p>
  284. </form>
  285. </div>
  286. </div>
  287. <div class="half">
  288. <div class="ls-import-export-box ls-box">
  289. <form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="post" class="ls-export-form">
  290. <?php wp_nonce_field('export-sliders'); ?>
  291. <input type="hidden" name="ls-export" value="1">
  292. <select name="sliders[]" multiple="multiple" data-help="<?php _e('Downloads an export file that contains your selected sliders to import on your new site. You can select multiple sliders by holding the Ctrl/Cmd button while clicking.', 'LayerSlider') ?>">
  293. <option value="-1" selected> <?php _e('All Sliders', 'LayerSlider') ?></option>
  294. <?php foreach($sliders as $slider) : ?>
  295. <option value="<?php echo $slider['id'] ?>">
  296. #<?php echo str_replace(' ', '&nbsp;', str_pad($slider['id'], 3, " ")) ?> -
  297. <?php echo apply_filters('ls_slider_title', $slider['name'], 30) ?>
  298. </option>
  299. <?php endforeach; ?>
  300. </select>
  301. <label>
  302. <input type="checkbox" class="checkbox" name="skip_images"> Do not export images
  303. </label>
  304. <button class="button"><?php _e('Export', 'LayerSlider') ?></button>
  305. </form>
  306. </div>
  307. </div>
  308. </div>
  309. </div>
  310. <!-- Permissions -->
  311. <div>
  312. <figure><?php _e('Allow non-admin users to change plugin settings and manage your sliders', 'LayerSlider') ?></figure>
  313. <form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="post" class="ls-box km-tabs-inner" id="ls-permission-form">
  314. <?php wp_nonce_field('save-access-permissions'); ?>
  315. <input type="hidden" name="ls-access-permission" value="1">
  316. <div class="inner">
  317. <?php _e('Choose a role', 'LayerSlider') ?>
  318. <select name="custom_role">
  319. <?php if(is_multisite()) : ?>
  320. <option value="manage_network" <?php echo ($custom_role == 'manage_network') ? 'selected="selected"' : '' ?>> <?php _e('Super Admin', 'LayerSlider') ?></option>
  321. <?php endif; ?>
  322. <option value="manage_options" <?php echo ($custom_role == 'manage_options') ? 'selected="selected"' : '' ?>> <?php _e('Admin', 'LayerSlider') ?></option>
  323. <option value="publish_pages" <?php echo ($custom_role == 'publish_pages') ? 'selected="selected"' : '' ?>> <?php _e('Editor, Admin', 'LayerSlider') ?></option>
  324. <option value="publish_posts" <?php echo ($custom_role == 'publish_posts') ? 'selected="selected"' : '' ?>> <?php _e('Author, Editor, Admin', 'LayerSlider') ?></option>
  325. <option value="edit_posts" <?php echo ($custom_role == 'edit_posts') ? 'selected="selected"' : '' ?>> <?php _e('Contributor, Author, Editor, Admin', 'LayerSlider') ?></option>
  326. <option value="custom" <?php echo ($custom_role == 'custom') ? 'selected="selected"' : '' ?>> <?php _e('Custom', 'LayerSlider') ?></option>
  327. </select>
  328. <i><?php _e('or', 'LayerSlider') ?></i> <?php _e('enter a custom capability', 'LayerSlider') ?>
  329. <input type="text" name="custom_capability" value="<?php echo $custom_capability ?>" placeholder="Enter custom capability">
  330. <p><?php _e('You can specify a custom capability if none of the pre-defined roles match your needs. You can find all the available capabilities on', 'LayerSlider') ?> <a href="http://codex.wordpress.org/Roles_and_Capabilities#Capability_vs._Role_Table" target="_blank"><?php _e('this page', 'LayerSlider') ?></a>.</p>
  331. </div>
  332. <div class="footer">
  333. <button class="button"><?php _e('Update', 'LayerSlider') ?></button>
  334. </div>
  335. </form>
  336. </div>
  337. <!-- Google Fonts -->
  338. <div>
  339. <figure><?php _e('Choose from hundreds of custom fonts faces provided by Google Fonts', 'LayerSlider') ?></figure>
  340. <form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="post" class="ls-box km-tabs-inner ls-google-fonts">
  341. <?php wp_nonce_field('save-google-fonts'); ?>
  342. <input type="hidden" name="ls-save-google-fonts" value="1">
  343. <!-- Google Fonts list -->
  344. <div class="inner">
  345. <ul class="ls-font-list">
  346. <li class="ls-hidden">
  347. <a href="#" class="remove dashicons dashicons-dismiss" title="Remove this font"></a>
  348. <input type="text" name="urlParams[]" readonly="readonly">
  349. <input type="checkbox" name="onlyOnAdmin[]">
  350. <?php _e('Load only on admin interface', 'LayerSlider') ?>
  351. </li>
  352. <?php if(is_array($googleFonts) && !empty($googleFonts)) : ?>
  353. <?php foreach($googleFonts as $item) : ?>
  354. <li>
  355. <a href="#" class="remove dashicons dashicons-dismiss" title="Remove this font"></a>
  356. <input type="text" name="urlParams[]" value="<?php echo $item['param'] ?>" readonly="readonly">
  357. <input type="checkbox" name="onlyOnAdmin[]" <?php echo $item['admin'] ? ' checked="checked"' : '' ?>>
  358. <?php _e('Load only on admin interface', 'LayerSlider') ?>
  359. </li>
  360. <?php endforeach ?>
  361. <?php else : ?>
  362. <li class="ls-notice"><?php _e("You didn't add any Google font to your library yet.", "LayerSlider") ?></li>
  363. <?php endif ?>
  364. </ul>
  365. </div>
  366. <div class="inner ls-font-search">
  367. <input type="text" placeholder="<?php _e('Enter a font name to add to your collection', 'LayerSlider') ?>">
  368. <button class="button"><?php _e('Search', 'LayerSlider') ?></button>
  369. <!-- Google Fonts search pointer -->
  370. <div class="ls-box ls-pointer">
  371. <h3 class="header"><?php _e('Choose a font family', 'LayerSlider') ?></h3>
  372. <div class="fonts">
  373. <ul class="inner"></ul>
  374. </div>
  375. <div class="variants">
  376. <ul class="inner"></ul>
  377. <div class="inner">
  378. <button class="button add-font"><?php _e('Add font', 'LayerSlider') ?></button>
  379. <button class="button right"><?php _e('Back to results', 'LayerSlider') ?></button>
  380. </div>
  381. </div>
  382. </div>
  383. </div>
  384. <!-- Google Fonts search bar -->
  385. <div class="inner footer">
  386. <button type="submit" class="button"><?php _e('Save changes', 'LayerSlider') ?></button>
  387. <?php
  388. $scripts = array(
  389. 'cyrillic' => __('Cyrillic', 'LayerSlider'),
  390. 'cyrillic-ext' => __('Cyrillic Extended', 'LayerSlider'),
  391. 'devanagari' => __('Devanagari', 'LayerSlider'),
  392. 'greek' => __('Greek', 'LayerSlider'),
  393. 'greek-ext' => __('Greek Extended', 'LayerSlider'),
  394. 'khmer' => __('Khmer', 'LayerSlider'),
  395. 'latin' => __('Latin', 'LayerSlider'),
  396. 'latin-ext' => __('Latin Extended', 'LayerSlider'),
  397. 'vietnamese' => __('Vietnamese', 'LayerSlider')
  398. );
  399. ?>
  400. <div class="right">
  401. <div>
  402. <select>
  403. <option><?php _e('Select new', 'LayerSlider') ?></option>
  404. <?php foreach($scripts as $key => $val) : ?>
  405. <option value="<?php echo $key ?>"><?php echo $val ?></option>
  406. <?php endforeach ?>
  407. </select>
  408. </div>
  409. <ul class="ls-google-font-scripts">
  410. <li class="ls-hidden">
  411. <span></span>
  412. <a href="#" class="dashicons dashicons-dismiss" title="<?php _e('Remove character set', 'LayerSlider') ?>"></a>
  413. <input type="hidden" name="scripts[]" value="">
  414. </li>
  415. <?php if(!empty($googleFontScripts) && is_array($googleFontScripts)) : ?>
  416. <?php foreach($googleFontScripts as $item) : ?>
  417. <li>
  418. <span><?php echo $scripts[$item] ?></span>
  419. <a href="#" class="dashicons dashicons-dismiss" title="<?php _e('Remove character set', 'LayerSlider') ?>"></a>
  420. <input type="hidden" name="scripts[]" value="<?php echo $item ?>">
  421. </li>
  422. <?php endforeach ?>
  423. <?php else : ?>
  424. <li>
  425. <span>Latin</span>
  426. <a href="#" class="dashicons dashicons-dismiss" title="<?php _e('Remove character set', 'LayerSlider') ?>"></a>
  427. <input type="hidden" name="scripts[]" value="latin">
  428. </li>
  429. <?php endif ?>
  430. </ul>
  431. <div><?php _e('Use character sets:', 'LayerSlider') ?></div>
  432. </div>
  433. </div>
  434. </form>
  435. </div>
  436. <!-- Advanced -->
  437. <div class="ls-global-settings">
  438. <figure>
  439. <?php _e('Troubleshooting &amp; Advanced Settings', 'LayerSlider') ?>
  440. <span class="warning"><?php _e("Don't change these options without experience, incorrect settings might break your site.", "LayerSlider") ?></span>
  441. </figure>
  442. <form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="post" class="ls-box km-tabs-inner">
  443. <?php wp_nonce_field('save-advanced-settings'); ?>
  444. <input type="hidden" name="ls-save-advanced-settings">
  445. <table>
  446. <tr>
  447. <td><?php _e('Use slider markup caching', 'LayerSlider') ?></td>
  448. <td><input type="checkbox" name="use_cache" <?php echo get_option('ls_use_cache', true) ? 'checked="checked"' : '' ?>></td>
  449. <td class="desc"><?php _e('Enabled caching can drastically increase the plugin performance and spare your server from unnecessary load.', 'LayerSlider') ?></td>
  450. </tr>
  451. <tr>
  452. <td><?php _e("Include scripts in the footer", "LayerSlider") ?></td>
  453. <td><input type="checkbox" name="include_at_footer" <?php echo get_option('ls_include_at_footer', false) ? 'checked="checked"' : '' ?>></td>
  454. <td class="desc"><?php _e("Including resources in the footer can improve load times and solve other type of issues. Outdated themes might not support this method.", "LayerSlider") ?></td>
  455. </tr>
  456. <tr>
  457. <td><?php _e("Conditional script loading", "LayerSlider") ?></td>
  458. <td><input type="checkbox" name="conditional_script_loading" <?php echo get_option('ls_conditional_script_loading', false) ? 'checked="checked"' : '' ?>></td>
  459. <td class="desc"><?php _e("Increase your site's performance by loading resources only when necessary. Outdated themes might not support this method.", "LayerSlider") ?></td>
  460. </tr>
  461. <tr>
  462. <td><?php _e('Concatenate output', 'LayerSlider') ?></td>
  463. <td><input type="checkbox" name="concatenate_output" <?php echo get_option('ls_concatenate_output', false) ? 'checked="checked"' : '' ?>></td>
  464. <td class="desc"><?php _e("Concatenating the plugin's output could solve issues caused by custom filters your theme might use.", "LayerSlider") ?></td>
  465. </tr>
  466. <tr>
  467. <td><?php _e('Use Google CDN version of jQuery', 'LayerSlider') ?></td>
  468. <td><input type="checkbox" name="use_custom_jquery" <?php echo get_option('ls_use_custom_jquery', false) ? 'checked="checked"' : '' ?>></td>
  469. <td class="desc"><?php _e('This option will likely solve "Old jQuery" issues.', 'LayerSlider') ?></td>
  470. </tr>
  471. <tr>
  472. <td><?php _e('Put JS includes to body', 'LayerSlider') ?></td>
  473. <td><input type="checkbox" name="put_js_to_body" <?php echo get_option('ls_put_js_to_body', false) ? 'checked="checked"' : '' ?>></td>
  474. <td class="desc"><?php _e('This is the most common workaround for jQuery related issues, and is recommended when you experience problems with jQuery.', 'LayerSlider') ?></td>
  475. </tr>
  476. </table>
  477. <div class="footer">
  478. <button type="submit" class="button"><?php _e('Save changes', 'LayerSlider') ?></button>
  479. </div>
  480. </form>
  481. </div>
  482. </div>
  483. <div class="ls-box ls-news">
  484. <div class="header medium">
  485. <h2><?php _e('LayerSlider News', 'LayerSlider') ?></h2>
  486. <div class="filters">
  487. <span><?php _e('Filter:', 'LayerSlider') ?></span>
  488. <ul>
  489. <li class="active" data-page="all"><?php _e('All', 'LayerSlider') ?></li>
  490. <li data-page="announcements"><?php _e('Announcements', 'LayerSlider') ?></li>
  491. <li data-page="changes"><?php _e('Release log', 'LayerSlider') ?></li>
  492. <li data-page="betas"><?php _e('Beta versions', 'LayerSlider') ?></li>
  493. </ul>
  494. </div>
  495. <div class="ls-version"<?php _e('>You have version', 'LayerSlider') ?> <?php echo LS_PLUGIN_VERSION ?> <?php _e('installed', 'LayerSlider') ?></div>
  496. </div>
  497. <div>
  498. <iframe src="http://news.kreaturamedia.com/layerslider/"></iframe>
  499. </div>
  500. </div>
  501. </div>
  502. <!-- Help menu WP Pointer -->
  503. <?php
  504. if(get_user_meta(get_current_user_id(), 'layerslider_help_wp_pointer', true) != '1') {
  505. add_user_meta(get_current_user_id(), 'layerslider_help_wp_pointer', '1'); ?>
  506. <script type="text/javascript">
  507. // Help
  508. jQuery(document).ready(function() {
  509. jQuery('#contextual-help-link-wrap').pointer({
  510. pointerClass : 'ls-help-pointer',
  511. pointerWidth : 320,
  512. content: '<h3><?php _e('The documentation is here', 'LayerSlider') ?></h3><div class="inner"><?php _e('Open this help menu to quickly access to our online documentation.', 'LayerSlider') ?></div>',
  513. position: {
  514. edge : 'top',
  515. align : 'right'
  516. }
  517. }).pointer('open');
  518. });
  519. </script>
  520. <?php } ?>
  521. <script type="text/javascript">
  522. var lsScreenOptions = <?php echo json_encode($lsScreenOptions) ?>;
  523. </script>