Açıklama Yok

notifications.php 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. /**
  3. * Copy & Delete Posts – default menu.
  4. *
  5. * @package CDP
  6. * @subpackage Notifications
  7. * @author CopyDeletePosts
  8. * @since 1.0.0
  9. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  10. // Exit if accessed directly.
  11. if (!defined('ABSPATH')) exit;
  12. /** –– **\
  13. * There is dynamic html for notifications.
  14. * @since 1.0.0
  15. */
  16. function cdp_notifications_menu() {
  17. $current = current_time('timestamp');
  18. $cdp_cron = get_option('_cdp_crons', array());
  19. $sorts = array('done' => array(), 'undone' => array());
  20. $to_show = 0;
  21. if (sizeof($cdp_cron) > 0) {
  22. foreach ($cdp_cron as $cron => $val) {
  23. $entry = array('t' => $cron, 's' => $val['shown'], 'f' => $val['f'], 'st' => $val['start']);
  24. if (isset($val['data'])) $entry['data'] = $val['data'];
  25. if ($val['done'] == false) array_push($sorts['undone'], $entry);
  26. else if ($val['done'] == true) array_push($sorts['done'], $entry);
  27. if ($val['shown'] == false) $to_show++;
  28. }
  29. }
  30. $html = '<span class="cdp-admin-bar-icon-noti"></span>';
  31. $html .= __('Copy & Delete', 'copy-delete-posts') . ' [<span class="cdp-notis-counter">' . $to_show . '</span>]';
  32. $html .= '<div class="ab-sub-wrapper cdp-ab-sub">
  33. <ul class="ab-submenu cdp-dropdown-submenu">';
  34. $html .= '<li class="cdp-undone-notis"' . ((sizeof($sorts['undone']) <= 0)?' style="display: none;"':'') . '>
  35. <a class="ab-item cdp-dropdown-menu">
  36. <div style="display: block;">
  37. <div class="cdp-dropdown-left-header">'. __('In progress:', 'copy-delete-posts').'</div>
  38. </div>
  39. </a>
  40. </li>
  41. <li class="cdp-dd-undone-list">';
  42. foreach ($sorts['undone'] as $index => $val) {
  43. $red = (($current - $val['st']) >= 86400) ? true : false;
  44. $html .= '<a class="ab-item cdp-dropdown-menu cdp-dd-item cdp-dd-ud' . (($val['s'] == false)?' cdp-bnew-notis':'') . '" data-token="' . $val['t'] . '">
  45. <div style="display: block; width: calc(100% - 3px);">
  46. <div class="cdp-dropdown-left' . (($red)?' cdp-red':'') . '">' . (($val['f'] == 'delete')? __('Deleting Posts', 'copy-delete-posts'):__('Auto Cleaning-up', 'copy-delete-posts')) . '</div>
  47. <div class="cdp-dropdown-right cdp-noti-kill-btn">' . __('Kill', 'copy-delete-posts') . '</div>
  48. </div>
  49. </a>';
  50. }
  51. $html .= '</li>
  52. <hr class="cdp-dropdown-hr cdp-undone-hr"'. ((sizeof($sorts['undone']) <= 0)?' style="display: none;"':'') .'>';
  53. $html .= '<li class="cdp-done-notis"' . ((sizeof($sorts['done']) <= 0)?' style="display: none;"':'') . '>
  54. <a class="ab-item cdp-dropdown-menu">
  55. <div style="display: block;">
  56. <div class="cdp-dropdown-left-header">' . __('Done:', 'copy-delete-posts') . '</div>
  57. </div>
  58. </a>
  59. </li>
  60. <li class="cdp-dd-done-list">';
  61. foreach ($sorts['done'] as $index => $val) {
  62. $format = ''; $ftext = '';
  63. if (isset($val['data'])) {
  64. if (array_key_exists('formated-date', $val['data'])) $format = $val['data']['formated-date'];
  65. if (array_key_exists('text', $val['data'])) $ftext = $val['data']['text'];
  66. if ($ftext != '') $ftext = 'data-ftext="' . $ftext . '" ';
  67. if ($format != '') $format = 'data-fdate="Completed at ' . $format . '" ';
  68. }
  69. $html .= '<a ' . $ftext . $format . 'class="ab-item cdp-dropdown-menu cdp-dd-item cdp-dd-d' . (($val['s'] == false)?' cdp-bnew-notis':'') . '" data-token="' . $val['t'] . '">
  70. <div style="display: block; width: calc(100% - 3px);">
  71. <div class="cdp-dropdown-left">' . (($val['f'] == 'delete')?__('Deleted Posts', 'copy-delete-posts'):__('Auto Cleaned-up', 'copy-delete-posts')) . '</div>
  72. <div class="cdp-dropdown-right cdp-noti-hide-btn">' . __('Hide', 'copy-delete-posts') . '</div>
  73. </div>
  74. </a>';
  75. }
  76. $html .= '</li>
  77. <hr class="cdp-dropdown-hr cdp-done-hr"'. ((sizeof($sorts['done']) <= 0)?' style="display: none;"':'') .'>';
  78. $html .= '<li><a class="ab-item cdp-dropdown-clear-all-notis" href="#">' . __('Clear notifiactions', 'copy-delete-posts'). '</a></li>
  79. </ul>
  80. </div>';
  81. return array('html' => $html, 'in_list' => (sizeof($sorts['done']) + sizeof($sorts['undone'])));
  82. }
  83. /** –– **/