Download Monitor - Version 1.4.3

Version Description

  • Add password form to download page when required
  • Run shortcodes in excerpt/short desc
  • Various hook additions
  • pr_br and zh_cn translation
  • Sort download count by meta_value_num
  • Store URLs in JSON format to allow easier search/replace
  • Fix dashboard sorting
  • Option for basic referer checking to prevent hotlinking.
  • Only get file hashes on save as they are resource heavy.
  • Disable remote file hash generation, but can be enabled with filter dlm_allow_remote_hash_file
  • Radio buttons instead of select (with pagination) in popup to improve performance.
Download this release

Release Info

Developer mikejolley
Plugin Icon 128x128 Download Monitor
Version 1.4.3
Comparing to
See all releases

Code changes from version 1.4.2 to 1.4.3

Files changed (61) hide show
  1. assets/css/admin.css +1 -1
  2. assets/css/admin.less +36 -1
  3. assets/css/dashboard.css +49 -1
  4. assets/images/ajax-loader.gif +0 -0
  5. assets/images/filetypes/document-code.png +0 -0
  6. assets/images/filetypes/document-excel.png +0 -0
  7. assets/images/filetypes/document-film.png +0 -0
  8. assets/images/filetypes/document-flash-movie.png +0 -0
  9. assets/images/filetypes/document-illustrator.png +0 -0
  10. assets/images/filetypes/document-image.png +0 -0
  11. assets/images/filetypes/document-music.png +0 -0
  12. assets/images/filetypes/document-pdf.png +0 -0
  13. assets/images/filetypes/document-photoshop.png +0 -0
  14. assets/images/filetypes/document-powerpoint.png +0 -0
  15. assets/images/filetypes/document-text-image.png +0 -0
  16. assets/images/filetypes/document-text.png +0 -0
  17. assets/images/filetypes/document-word-text.png +0 -0
  18. assets/images/filetypes/document-zipper.png +0 -0
  19. assets/images/filetypes/document.png +0 -0
  20. assets/images/placeholder.png +0 -0
  21. assets/js/chosen/chosen-sprite.png +0 -0
  22. assets/js/chosen/chosen-sprite@2x.png +0 -0
  23. assets/js/chosen/chosen.jquery.min.js +2 -1
  24. assets/js/jqueryFileTree/images/application.png +0 -0
  25. assets/js/jqueryFileTree/images/code.png +0 -0
  26. assets/js/jqueryFileTree/images/css.png +0 -0
  27. assets/js/jqueryFileTree/images/db.png +0 -0
  28. assets/js/jqueryFileTree/images/directory.png +0 -0
  29. assets/js/jqueryFileTree/images/doc.png +0 -0
  30. assets/js/jqueryFileTree/images/file.png +0 -0
  31. assets/js/jqueryFileTree/images/film.png +0 -0
  32. assets/js/jqueryFileTree/images/flash.png +0 -0
  33. assets/js/jqueryFileTree/images/folder_open.png +0 -0
  34. assets/js/jqueryFileTree/images/html.png +0 -0
  35. assets/js/jqueryFileTree/images/java.png +0 -0
  36. assets/js/jqueryFileTree/images/linux.png +0 -0
  37. assets/js/jqueryFileTree/images/music.png +0 -0
  38. assets/js/jqueryFileTree/images/pdf.png +0 -0
  39. assets/js/jqueryFileTree/images/php.png +0 -0
  40. assets/js/jqueryFileTree/images/ppt.png +0 -0
  41. assets/js/jqueryFileTree/images/psd.png +0 -0
  42. assets/js/jqueryFileTree/images/ruby.png +0 -0
  43. assets/js/jqueryFileTree/images/script.png +0 -0
  44. assets/js/jqueryFileTree/images/spinner.gif +0 -0
  45. assets/js/jqueryFileTree/images/txt.png +0 -0
  46. assets/js/jqueryFileTree/images/xls.png +0 -0
  47. assets/js/jqueryFileTree/images/zip.png +0 -0
  48. download-monitor.php +32 -29
  49. includes/admin/class-dlm-admin-dashboard.php +1 -1
  50. includes/admin/class-dlm-admin-insert.php +39 -19
  51. includes/admin/class-dlm-admin-writepanels.php +16 -6
  52. includes/admin/class-dlm-admin.php +8 -0
  53. includes/admin/html-downloadable-file-version.php +7 -1
  54. includes/class-dlm-download-handler.php +16 -3
  55. includes/class-dlm-download-version.php +14 -12
  56. includes/class-dlm-download.php +1 -1
  57. includes/widgets/class-dlm-widget-downloads.php +1 -1
  58. languages/download_monitor-pt_BR.po +1105 -0
  59. languages/download_monitor-zh_CN.mo +0 -0
  60. languages/download_monitor-zh_CN.po +1106 -0
  61. readme.txt +14 -1
assets/css/admin.css CHANGED
@@ -1 +1 @@
1
- #dlm_logs td{padding:7px;vertical-align:middle}#dlm_logs .column-status{width:4em}#dlm_logs td.column-status{font-size:10px;vertical-align:middle;text-align:center}#dlm_logs td.column-status span{color:#fff;font-weight:400;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;height:16px;line-height:16px;width:16px;display:inline-block}#dlm_logs td.column-status .failed{background-color:#df9d1d}#dlm_logs td.column-status .redirected{background-color:#74a721}#dlm_logs td.column-status .completed{background-color:#1c769b}#dlm_logs td.column-user_ip,#dlm_logs td.column-user_agent{font-family:monospace;font-weight:400}#dlm_logs span.description{font-weight:400}#dlm_logs .column-download,#dlm_logs .column-file,#dlm_logs .column-user,#dlm_logs .column-user_ua{width:16%!important}#dlm_logs .column-user_ip,#dlm_logs .column-date{width:6%!important}ul.download_monitor_file_browser{list-style:none outside;margin:0;border:1px solid #ddd;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background:#f9f9f9;padding:5px;-moz-box-shadow:inset 0 0 0 1px #fff;-webkit-box-shadow:inset 0 0 0 1px #fff;box-shadow:inset 0 0 0 1px #fff}ul.download_monitor_file_browser li{padding:0;margin:0}ul.download_monitor_file_browser li a{color:#21759B;display:block;padding:4px 0 4px 4px;text-decoration:none}ul.download_monitor_file_browser li a:hover{background-color:#eaf2fa}ul.download_monitor_file_browser li a:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f123";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}ul.download_monitor_file_browser li a.folder:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f318";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}ul.download_monitor_file_browser li a.filetype-mov:before,ul.download_monitor_file_browser li a.filetype-avi:before,ul.download_monitor_file_browser li a.filetype-3g2:before,ul.download_monitor_file_browser li a.filetype-3gp:before,ul.download_monitor_file_browser li a.filetype-asf:before,ul.download_monitor_file_browser li a.filetype-asx:before,ul.download_monitor_file_browser li a.filetype-mp4:before,ul.download_monitor_file_browser li a.filetype-mpg:before,ul.download_monitor_file_browser li a.filetype-rm:before,ul.download_monitor_file_browser li a.filetype-srt:before,ul.download_monitor_file_browser li a.filetype-vob:before,ul.download_monitor_file_browser li a.filetype-wmv:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f126";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}ul.download_monitor_file_browser li a.filetype-mp3:before,ul.download_monitor_file_browser li a.filetype-aif:before,ul.download_monitor_file_browser li a.filetype-iff:before,ul.download_monitor_file_browser li a.filetype-m3u:before,ul.download_monitor_file_browser li a.filetype-m4a:before,ul.download_monitor_file_browser li a.filetype-mid:before,ul.download_monitor_file_browser li a.filetype-midi:before,ul.download_monitor_file_browser li a.filetype-mpa:before,ul.download_monitor_file_browser li a.filetype-ra:before,ul.download_monitor_file_browser li a.filetype-wav:before,ul.download_monitor_file_browser li a.filetype-wma:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f127";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}ul.download_monitor_file_browser li a.filetype-psd:before,ul.download_monitor_file_browser li a.filetype-ai:before,ul.download_monitor_file_browser li a.filetype-eps:before,ul.download_monitor_file_browser li a.filetype-ps:before,ul.download_monitor_file_browser li a.filetype-svg:before,ul.download_monitor_file_browser li a.filetype-bmp:before,ul.download_monitor_file_browser li a.filetype-dds:before,ul.download_monitor_file_browser li a.filetype-gif:before,ul.download_monitor_file_browser li a.filetype-jpg:before,ul.download_monitor_file_browser li a.filetype-jpeg:before,ul.download_monitor_file_browser li a.filetype-png:before,ul.download_monitor_file_browser li a.filetype-pspimage:before,ul.download_monitor_file_browser li a.filetype-tga:before,ul.download_monitor_file_browser li a.filetype-thm:before,ul.download_monitor_file_browser li a.filetype-tif:before,ul.download_monitor_file_browser li a.filetype-yuv:before,ul.download_monitor_file_browser li a.filetype-ico:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f128";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}ul.download_monitor_file_browser li.nofiles{color:#999;font-style:italic;padding:4px 0}ul.download_monitor_file_browser li ul{list-style:none outside;margin:0;padding:0 0 0 28px}ul.download_monitor_file_browser li ul.loading{background:url(../images/ajax-loader.gif) no-repeat 24px 0;height:32px}table.wp-list-table .column-thumb{width:44px;text-align:center;white-space:nowrap}table.wp-list-table .column-dlm_download_cat,table.wp-list-table .column-dlm_download_tag,table.wp-list-table .column-file{width:11%!important}table.wp-list-table .column-title,table.wp-list-table .column-file{width:17%!important}table.wp-list-table .column-download_id,table.wp-list-table .column-version{width:5em}table.wp-list-table th.column-thumb span:first-child,table.wp-list-table th.column-download_count span:first-child,table.wp-list-table th.column-members_only span:first-child,table.wp-list-table th.column-redirect_only span:first-child,table.wp-list-table th.column-featured span:first-child{float:none;display:inline-block;width:1em;height:1em;line-height:1em;padding:2px 0 0;overflow:hidden}table.wp-list-table th.column-thumb .sorting-indicator,table.wp-list-table th.column-download_count .sorting-indicator,table.wp-list-table th.column-members_only .sorting-indicator,table.wp-list-table th.column-redirect_only .sorting-indicator,table.wp-list-table th.column-featured .sorting-indicator{float:right}table.wp-list-table th.column-thumb{width:52px;text-align:center}table.wp-list-table th.column-thumb span:first-child:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f128";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}table.wp-list-table th.column-download_count{width:5em}table.wp-list-table th.column-download_count span:first-child:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f346";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}table.wp-list-table th.column-members_only{width:3.5em}table.wp-list-table th.column-members_only span:first-child:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f338";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}table.wp-list-table th.column-redirect_only{width:3.5em}table.wp-list-table th.column-redirect_only span:first-child:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f103";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}table.wp-list-table th.column-featured{width:3.5em}table.wp-list-table th.column-featured span:first-child:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f155";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}table.wp-list-table td.column-download_count,table.wp-list-table td.column-members_only,table.wp-list-table td.column-redirect_only,table.wp-list-table td.column-featured{text-align:left;padding-left:11px}table.wp-list-table td.column-download_count span.na,table.wp-list-table td.column-members_only span.na,table.wp-list-table td.column-redirect_only span.na,table.wp-list-table td.column-featured span.na{color:#999;width:1em;height:1em;line-height:1em;display:inline-block;overflow:hidden;vertical-align:middle}table.wp-list-table td.column-download_count span.na:before,table.wp-list-table td.column-members_only span.na:before,table.wp-list-table td.column-redirect_only span.na:before,table.wp-list-table td.column-featured span.na:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f460";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}table.wp-list-table td.column-download_count span.yes,table.wp-list-table td.column-members_only span.yes,table.wp-list-table td.column-redirect_only span.yes,table.wp-list-table td.column-featured span.yes{width:1em;height:1em;line-height:1em;display:inline-block;overflow:hidden;vertical-align:middle}table.wp-list-table td.column-download_count span.yes:before,table.wp-list-table td.column-members_only span.yes:before,table.wp-list-table td.column-redirect_only span.yes:before,table.wp-list-table td.column-featured span.yes:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f147";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}table.wp-list-table .column-thumb img{padding:2px;margin:0;border:1px solid #dfdfdf;vertical-align:middle;width:32px;height:32px}#download-monitor-file .inside{padding:0;margin:0}#download-monitor-file .dlm-metaboxes-wrapper .expand_all,#download-monitor-file .dlm-metaboxes-wrapper .close_all{float:right;margin-left:1em;line-height:22px;text-decoration:none}#download-monitor-file .dlm-metaboxes-wrapper .expand_all:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f168";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}#download-monitor-file .dlm-metaboxes-wrapper .close_all:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f460";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}#download-monitor-file .dlm-metaboxes-wrapper p.toolbar{margin:0!important;border-top:1px solid #fff;border-bottom:1px solid #DFDFDF;padding:7px 12px!important;overflow:hidden;zoom:1}#download-monitor-file .dlm-metaboxes-wrapper p.toolbar a.button{float:left;margin:0}#download-monitor-file .dlm-metaboxes-wrapper select.attribute_taxonomy,#download-monitor-file .dlm-metaboxes-wrapper button.add_attribute,#download-monitor-file .dlm-metaboxes-wrapper button.add_variable_attribute,#download-monitor-file .dlm-metaboxes-wrapper .fr{float:right;margin:0 0 0 6px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metaboxes{padding:0 12px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox-sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;margin:9px 0;border-width:1px;border-style:dashed}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox{background:#ececec;border:1px solid #ececec;margin:9px 0!important}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox h3{margin:0!important;padding:6px!important;font-size:1em!important;overflow:hidden;zoom:1;cursor:move}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox h3 button{float:right}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox h3 strong{font-weight:400;line-height:24px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox h3 select{font-family:sans-serif}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox h3 .handlediv{background-position:6px 5px!important;display:none;height:24px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox:hover h3 .handlediv{display:block}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table{width:100%;position:relative;background:#fff;padding:3px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td{text-align:left;padding:6px;vertical-align:top;border:0;line-height:26px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td label{text-align:left;display:block;line-height:21px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td input{float:left;min-width:200px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td input,#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td textarea{width:100%;margin:0;display:block;font-size:14px;padding:4px;color:#555}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td textarea{height:7.5em}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td select{width:100%}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td input.short{width:200px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td input.checkbox{width:auto;min-width:inherit;vertical-align:middle;display:inline;float:none}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td input.date-picker-field{width:50%;min-width:inherit;float:none;display:inline}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td input.minute,#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td input.hour{width:2em;min-width:inherit;float:none;display:inline}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td.attribute_name{width:200px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table .plus,#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table .minus{margin-top:6px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table .fl{float:left}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table .fr{float:right}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox:first-child{}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox:first-child h3{background:#EAF2FA;background-image:linear-gradient(bottom,#dae6f2 0,#eaf2fa 100%);background-image:-o-linear-gradient(bottom,#dae6f2 0,#eaf2fa 100%);background-image:-moz-linear-gradient(bottom,#dae6f2 0,#eaf2fa 100%);background-image:-webkit-linear-gradient(bottom,#dae6f2 0,#eaf2fa 100%);background-image:-ms-linear-gradient(bottom,#dae6f2 0,#eaf2fa 100%);background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#dae6f2),color-stop(1,#eaf2fa));border-color:#d3deea;color:#21759B}#download-monitor-file .dlm-metaboxes-wrapper .plus:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f132";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}#download-monitor-file .dlm-metaboxes-wrapper .minus:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f460";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}#download-monitor-file .dlm-metaboxes-wrapper .dlm_upload_file:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f317";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}#download-monitor-file .dlm-metaboxes-wrapper .dlm_browse_for_file:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f322";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}#download-monitor-options .inside{padding:0;margin:0}#download-monitor-options .form-field-checkbox label{display:inline;padding:0 0 4px}#download-monitor-options .form-field-checkbox input{display:inline-block;width:auto;vertical-align:middle}#download-monitor-options .form-field-checkbox .description{padding:4px 0 0;display:block}#download-monitor-options .access_permissions{margin:0!important;border-top:1px solid #fff;border-bottom:1px solid #DFDFDF;padding:7px 12px!important;overflow:hidden;zoom:1}#download-monitor-options .access_permissions h4{margin-bottom:.5em;margin:0 0 .5em}#download-monitor-options .access_permissions ul{background:#fff;border:1px solid #dfdfdf;height:110px;overflow:auto;padding:.5em .9em;margin:0}#download-monitor-options p{margin:0!important;border-top:1px solid #fff;border-bottom:1px solid #DFDFDF;padding:7px 12px!important;overflow:hidden;zoom:1}#insert-download{padding:20px}#insert-download .updated,#insert-download .error{margin-left:0;margin-right:0}#insert-download h2{margin-top:0}#insert-download label{margin:0 0 .25em;display:block;font-size:1.1em}#insert-download span.description{display:block}#insert-download select.input,#insert-download input.input{margin:0 0 .25em;display:block;width:100%;font-size:1.1em}#insert-download .add_link{float:right}.dlm_addons_wrap .items{overflow:hidden}.dlm_addons_wrap .items li{display:inline-block;margin:0 10px 10px 0!important;padding:0;vertical-align:top;width:250px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1);overflow:hidden;position:relative}.dlm_addons_wrap .items li a{color:inherit;text-decoration:none}.dlm_addons_wrap .items li img{max-width:100%;height:auto;display:block;margin:0;background:#fff}.dlm_addons_wrap .items li h2{margin:0!important;padding:10px 20px!important;line-height:1;background:rgba(255,255,255,.8);color:#000;position:absolute;max-width:280px;top:20px;left:0;font-size:18px;text-shadow:none}.dlm_addons_wrap .items li .third_party{display:none}.dlm_addons_wrap .items li p{padding:20px!important;margin:0!important;border-top:1px solid #f1f1f1}.dlm_addons_wrap .items li .cost{display:none}
1
+ #dlm_logs td{padding:7px;vertical-align:middle}#dlm_logs .column-status{width:4em}#dlm_logs td.column-status{font-size:10px;vertical-align:middle;text-align:center}#dlm_logs td.column-status span{color:#fff;font-weight:400;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;height:16px;line-height:16px;width:16px;display:inline-block}#dlm_logs td.column-status .failed{background-color:#df9d1d}#dlm_logs td.column-status .redirected{background-color:#74a721}#dlm_logs td.column-status .completed{background-color:#1c769b}#dlm_logs td.column-user_ip,#dlm_logs td.column-user_agent{font-family:monospace;font-weight:400}#dlm_logs span.description{font-weight:400}#dlm_logs .column-download,#dlm_logs .column-file,#dlm_logs .column-user,#dlm_logs .column-user_ua{width:16%!important}#dlm_logs .column-user_ip,#dlm_logs .column-date{width:6%!important}ul.download_monitor_file_browser{list-style:none outside;margin:0;border:1px solid #ddd;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background:#f9f9f9;padding:5px;-moz-box-shadow:inset 0 0 0 1px #fff;-webkit-box-shadow:inset 0 0 0 1px #fff;box-shadow:inset 0 0 0 1px #fff}ul.download_monitor_file_browser li{padding:0;margin:0}ul.download_monitor_file_browser li a{color:#21759B;display:block;padding:4px 0 4px 4px;text-decoration:none}ul.download_monitor_file_browser li a:hover{background-color:#eaf2fa}ul.download_monitor_file_browser li a:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f123";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}ul.download_monitor_file_browser li a.folder:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f318";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}ul.download_monitor_file_browser li a.filetype-mov:before,ul.download_monitor_file_browser li a.filetype-avi:before,ul.download_monitor_file_browser li a.filetype-3g2:before,ul.download_monitor_file_browser li a.filetype-3gp:before,ul.download_monitor_file_browser li a.filetype-asf:before,ul.download_monitor_file_browser li a.filetype-asx:before,ul.download_monitor_file_browser li a.filetype-mp4:before,ul.download_monitor_file_browser li a.filetype-mpg:before,ul.download_monitor_file_browser li a.filetype-rm:before,ul.download_monitor_file_browser li a.filetype-srt:before,ul.download_monitor_file_browser li a.filetype-vob:before,ul.download_monitor_file_browser li a.filetype-wmv:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f126";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}ul.download_monitor_file_browser li a.filetype-mp3:before,ul.download_monitor_file_browser li a.filetype-aif:before,ul.download_monitor_file_browser li a.filetype-iff:before,ul.download_monitor_file_browser li a.filetype-m3u:before,ul.download_monitor_file_browser li a.filetype-m4a:before,ul.download_monitor_file_browser li a.filetype-mid:before,ul.download_monitor_file_browser li a.filetype-midi:before,ul.download_monitor_file_browser li a.filetype-mpa:before,ul.download_monitor_file_browser li a.filetype-ra:before,ul.download_monitor_file_browser li a.filetype-wav:before,ul.download_monitor_file_browser li a.filetype-wma:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f127";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}ul.download_monitor_file_browser li a.filetype-psd:before,ul.download_monitor_file_browser li a.filetype-ai:before,ul.download_monitor_file_browser li a.filetype-eps:before,ul.download_monitor_file_browser li a.filetype-ps:before,ul.download_monitor_file_browser li a.filetype-svg:before,ul.download_monitor_file_browser li a.filetype-bmp:before,ul.download_monitor_file_browser li a.filetype-dds:before,ul.download_monitor_file_browser li a.filetype-gif:before,ul.download_monitor_file_browser li a.filetype-jpg:before,ul.download_monitor_file_browser li a.filetype-jpeg:before,ul.download_monitor_file_browser li a.filetype-png:before,ul.download_monitor_file_browser li a.filetype-pspimage:before,ul.download_monitor_file_browser li a.filetype-tga:before,ul.download_monitor_file_browser li a.filetype-thm:before,ul.download_monitor_file_browser li a.filetype-tif:before,ul.download_monitor_file_browser li a.filetype-yuv:before,ul.download_monitor_file_browser li a.filetype-ico:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f128";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}ul.download_monitor_file_browser li.nofiles{color:#999;font-style:italic;padding:4px 0}ul.download_monitor_file_browser li ul{list-style:none outside;margin:0;padding:0 0 0 28px}ul.download_monitor_file_browser li ul.loading{background:url(../images/ajax-loader.gif) no-repeat 24px 0;height:32px}table.wp-list-table .column-thumb{width:44px;text-align:center;white-space:nowrap}table.wp-list-table .column-dlm_download_cat,table.wp-list-table .column-dlm_download_tag,table.wp-list-table .column-file{width:11%!important}table.wp-list-table .column-title,table.wp-list-table .column-file{width:17%!important}table.wp-list-table .column-download_id,table.wp-list-table .column-version{width:5em}table.wp-list-table th.column-thumb span:first-child,table.wp-list-table th.column-download_count span:first-child,table.wp-list-table th.column-members_only span:first-child,table.wp-list-table th.column-redirect_only span:first-child,table.wp-list-table th.column-featured span:first-child{float:none;display:inline-block;width:1em;height:1em;line-height:1em;padding:2px 0 0;overflow:hidden}table.wp-list-table th.column-thumb .sorting-indicator,table.wp-list-table th.column-download_count .sorting-indicator,table.wp-list-table th.column-members_only .sorting-indicator,table.wp-list-table th.column-redirect_only .sorting-indicator,table.wp-list-table th.column-featured .sorting-indicator{float:right}table.wp-list-table th.column-thumb{width:52px;text-align:center}table.wp-list-table th.column-thumb span:first-child:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f128";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}table.wp-list-table th.column-download_count{width:5em}table.wp-list-table th.column-download_count span:first-child:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f346";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}table.wp-list-table th.column-members_only{width:3.5em}table.wp-list-table th.column-members_only span:first-child:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f338";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}table.wp-list-table th.column-redirect_only{width:3.5em}table.wp-list-table th.column-redirect_only span:first-child:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f103";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}table.wp-list-table th.column-featured{width:3.5em}table.wp-list-table th.column-featured span:first-child:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f155";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}table.wp-list-table td.column-download_count,table.wp-list-table td.column-members_only,table.wp-list-table td.column-redirect_only,table.wp-list-table td.column-featured{text-align:left;padding-left:11px}table.wp-list-table td.column-download_count span.na,table.wp-list-table td.column-members_only span.na,table.wp-list-table td.column-redirect_only span.na,table.wp-list-table td.column-featured span.na{color:#999;width:1em;height:1em;line-height:1em;display:inline-block;overflow:hidden;vertical-align:middle}table.wp-list-table td.column-download_count span.na:before,table.wp-list-table td.column-members_only span.na:before,table.wp-list-table td.column-redirect_only span.na:before,table.wp-list-table td.column-featured span.na:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f460";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}table.wp-list-table td.column-download_count span.yes,table.wp-list-table td.column-members_only span.yes,table.wp-list-table td.column-redirect_only span.yes,table.wp-list-table td.column-featured span.yes{width:1em;height:1em;line-height:1em;display:inline-block;overflow:hidden;vertical-align:middle}table.wp-list-table td.column-download_count span.yes:before,table.wp-list-table td.column-members_only span.yes:before,table.wp-list-table td.column-redirect_only span.yes:before,table.wp-list-table td.column-featured span.yes:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f147";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}table.wp-list-table .column-thumb img{padding:2px;margin:0;border:1px solid #dfdfdf;vertical-align:middle;width:32px;height:32px}#download-monitor-file .inside{padding:0;margin:0}#download-monitor-file .dlm-metaboxes-wrapper .expand_all,#download-monitor-file .dlm-metaboxes-wrapper .close_all{float:right;margin-left:1em;line-height:22px;text-decoration:none}#download-monitor-file .dlm-metaboxes-wrapper .expand_all:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f168";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}#download-monitor-file .dlm-metaboxes-wrapper .close_all:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f460";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}#download-monitor-file .dlm-metaboxes-wrapper p.toolbar{margin:0!important;border-top:1px solid #fff;border-bottom:1px solid #DFDFDF;padding:7px 12px!important;overflow:hidden;zoom:1}#download-monitor-file .dlm-metaboxes-wrapper p.toolbar a.button{float:left;margin:0}#download-monitor-file .dlm-metaboxes-wrapper select.attribute_taxonomy,#download-monitor-file .dlm-metaboxes-wrapper button.add_attribute,#download-monitor-file .dlm-metaboxes-wrapper button.add_variable_attribute,#download-monitor-file .dlm-metaboxes-wrapper .fr{float:right;margin:0 0 0 6px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metaboxes{padding:0 12px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox-sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;margin:9px 0;border-width:1px;border-style:dashed}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox{background:#ececec;border:1px solid #ececec;margin:9px 0!important}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox h3{margin:0!important;padding:6px!important;font-size:1em!important;overflow:hidden;zoom:1;cursor:move}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox h3 button{float:right}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox h3 strong{font-weight:400;line-height:24px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox h3 select{font-family:sans-serif}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox h3 .handlediv{background-position:6px 5px!important;display:none;height:24px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox:hover h3 .handlediv{display:block}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table{width:100%;position:relative;background:#fff;padding:3px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td{text-align:left;padding:6px;vertical-align:top;border:0;line-height:26px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td label{text-align:left;display:block;line-height:21px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td input{float:left;min-width:200px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td input,#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td textarea{width:100%;margin:0;display:block;font-size:14px;padding:4px;color:#555}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td textarea{height:7.5em}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td select{width:100%}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td input.short{width:200px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td input.checkbox{width:auto;min-width:inherit;vertical-align:middle;display:inline;float:none}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td input.date-picker-field{width:50%;min-width:inherit;float:none;display:inline}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td input.minute,#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td input.hour{width:2em;min-width:inherit;float:none;display:inline}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table td.attribute_name{width:200px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table .plus,#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table .minus{margin-top:6px}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table .fl{float:left}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox table .fr{float:right}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox:first-child{}#download-monitor-file .dlm-metaboxes-wrapper .dlm-metabox:first-child h3{background:#EAF2FA;background-image:linear-gradient(bottom,#dae6f2 0,#eaf2fa 100%);background-image:-o-linear-gradient(bottom,#dae6f2 0,#eaf2fa 100%);background-image:-moz-linear-gradient(bottom,#dae6f2 0,#eaf2fa 100%);background-image:-webkit-linear-gradient(bottom,#dae6f2 0,#eaf2fa 100%);background-image:-ms-linear-gradient(bottom,#dae6f2 0,#eaf2fa 100%);background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#dae6f2),color-stop(1,#eaf2fa));border-color:#d3deea;color:#21759B}#download-monitor-file .dlm-metaboxes-wrapper .plus:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f132";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}#download-monitor-file .dlm-metaboxes-wrapper .minus:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f460";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}#download-monitor-file .dlm-metaboxes-wrapper .dlm_upload_file:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f317";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}#download-monitor-file .dlm-metaboxes-wrapper .dlm_browse_for_file:before{font-family:dashicons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 4px 0 0;content:"\f322";top:1px;left:-1px;font-size:1em;line-height:inherit;position:relative;vertical-align:top}#download-monitor-options .inside{padding:0;margin:0}#download-monitor-options .form-field-checkbox label{display:inline;padding:0 0 4px}#download-monitor-options .form-field-checkbox input{display:inline-block;width:auto;vertical-align:middle}#download-monitor-options .form-field-checkbox .description{padding:4px 0 0;display:block}#download-monitor-options .access_permissions{margin:0!important;border-top:1px solid #fff;border-bottom:1px solid #DFDFDF;padding:7px 12px!important;overflow:hidden;zoom:1}#download-monitor-options .access_permissions h4{margin-bottom:.5em;margin:0 0 .5em}#download-monitor-options .access_permissions ul{background:#fff;border:1px solid #dfdfdf;height:110px;overflow:auto;padding:.5em .9em;margin:0}#download-monitor-options p{margin:0!important;border-top:1px solid #fff;border-bottom:1px solid #DFDFDF;padding:7px 12px!important;overflow:hidden;zoom:1}#insert-download{padding:20px}#insert-download .updated,#insert-download .error{margin-left:0;margin-right:0}#insert-download h2{margin-top:0}#insert-download label{margin:0 0 .25em;display:block;font-size:1.1em}#insert-download span.description{display:block}#insert-download input.input{margin:0 0 .25em;display:block;width:100%;font-size:1.1em}#insert-download .add_link{float:right}#insert-download ul.page-numbers{overflow:hidden;zoom:1;margin:0 auto;padding:0;text-align:center}#insert-download ul.page-numbers li{display:inline-block;margin:0;list-style:none outside;line-height:1em}#insert-download ul.page-numbers li a,#insert-download ul.page-numbers li span{text-decoration:none;border:1px solid #ddd;-webkit-border-radius:4px;border-radius:4px;padding:8px;display:block}#insert-download ul.page-numbers li span{border-color:#eee}#insert-download legend{font-weight:700;display:block;margin:0 0 1em}#insert-download fieldset label{display:block;margin:0 0 .5em}.dlm_addons_wrap .items{overflow:hidden}.dlm_addons_wrap .items li{display:inline-block;margin:0 10px 10px 0!important;padding:0;vertical-align:top;width:250px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1);overflow:hidden;position:relative}.dlm_addons_wrap .items li a{color:inherit;text-decoration:none}.dlm_addons_wrap .items li img{max-width:100%;height:auto;display:block;margin:0;background:#fff}.dlm_addons_wrap .items li h2{margin:0!important;padding:10px 20px!important;line-height:1;background:rgba(255,255,255,.8);color:#000;position:absolute;max-width:280px;top:20px;left:0;font-size:18px;text-shadow:none}.dlm_addons_wrap .items li .third_party{display:none}.dlm_addons_wrap .items li p{padding:20px!important;margin:0!important;border-top:1px solid #f1f1f1}.dlm_addons_wrap .items li .cost{display:none}
assets/css/admin.less CHANGED
@@ -504,7 +504,7 @@ table.wp-list-table {
504
  span.description {
505
  display: block;
506
  }
507
- select.input, input.input {
508
  margin: 0 0 .25em 0;
509
  display: block;
510
  width: 100%;
@@ -513,6 +513,41 @@ table.wp-list-table {
513
  .add_link {
514
  float: right;
515
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
516
  }
517
 
518
  /* Addons */
504
  span.description {
505
  display: block;
506
  }
507
+ input.input {
508
  margin: 0 0 .25em 0;
509
  display: block;
510
  width: 100%;
513
  .add_link {
514
  float: right;
515
  }
516
+ ul.page-numbers {
517
+ overflow: hidden;
518
+ zoom: 1;
519
+ margin: 0 auto;
520
+ padding: 0;
521
+ text-align: center;
522
+ li {
523
+ display: inline-block;
524
+ margin: 0;
525
+ list-style: none outside;
526
+ line-height: 1em;
527
+ a, span {
528
+ text-decoration: none;
529
+ border: 1px solid #ddd;
530
+ -webkit-border-radius: 4px;
531
+ border-radius: 4px;
532
+ padding: 8px;
533
+ display: block;
534
+ }
535
+ span {
536
+ border-color: #eee;
537
+ }
538
+ }
539
+ }
540
+ legend {
541
+ font-weight: bold;
542
+ display: block;
543
+ margin: 0 0 1em;
544
+ }
545
+ fieldset {
546
+ label {
547
+ display: block;
548
+ margin: 0 0 .5em;
549
+ }
550
+ }
551
  }
552
 
553
  /* Addons */
assets/css/dashboard.css CHANGED
@@ -1 +1,49 @@
1
- table.download_chart{width:100%}table.download_chart thead{display:none}table.download_chart td,table.download_chart th{padding:5px;vertical-align:middle;line-height:1.5em}table.download_chart th{text-align:left;font-weight:400;padding-left:0}table.download_chart td:last-child{padding-right:0}table.download_chart tr:first-child td,table.download_chart tr:first-child th{padding-top:0}table.download_chart tr:last-child td,table.download_chart tr:last-child th{border-bottom:0;padding-bottom:0}table.download_chart span.bar{padding:0 0 0 1px;height:1.5em;float:left;margin-right:5px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;bprder:1px solid ##6e6e6e;background:#6e6e6e;background-image:-webkit-gradient(linear,left bottom,left top,from(#747474),to(#6e6e6e));background-image:-webkit-linear-gradient(bottom,#747474,#6e6e6e);background-image:-moz-linear-gradient(bottom,#747474,#6e6e6e);background-image:-o-linear-gradient(bottom,#747474,#6e6e6e);background-image:linear-gradient(to top,#747474,#6e6e6e)}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Widgets */
2
+ table.download_chart {
3
+ width: 100%;
4
+ }
5
+ table.download_chart thead {
6
+ display: none;
7
+ }
8
+ table.download_chart td,
9
+ table.download_chart th {
10
+ padding: 5px;
11
+ vertical-align: middle;
12
+ line-height: 1.5em;
13
+ }
14
+ table.download_chart th {
15
+ text-align: left;
16
+ font-weight: normal;
17
+ padding-left: 0;
18
+ }
19
+ table.download_chart td:last-child {
20
+ padding-right: 0;
21
+ }
22
+ table.download_chart tr:first-child td,
23
+ table.download_chart tr:first-child th {
24
+ padding-top: 0;
25
+ }
26
+ table.download_chart tr:last-child td,
27
+ table.download_chart tr:last-child th {
28
+ border-bottom: 0;
29
+ padding-bottom: 0;
30
+ }
31
+ table.download_chart span.bar {
32
+ padding: 0 0 0 1px;
33
+ height: 1.5em;
34
+ float: left;
35
+ margin-right: 5px;
36
+ -moz-box-sizing: border-box;
37
+ -webkit-box-sizing: border-box;
38
+ box-sizing: border-box;
39
+ -moz-border-radius: 2px;
40
+ -webkit-border-radius: 2px;
41
+ border-radius: 2px;
42
+ bprder: 1px solid ##6e6e6e;
43
+ background: #6e6e6e;
44
+ background-image: -webkit-gradient(linear, left bottom, left top, from(#747474), to(#6e6e6e));
45
+ background-image: -webkit-linear-gradient(bottom, #747474, #6e6e6e);
46
+ background-image: -moz-linear-gradient(bottom, #747474, #6e6e6e);
47
+ background-image: -o-linear-gradient(bottom, #747474, #6e6e6e);
48
+ background-image: linear-gradient(to top, #747474, #6e6e6e);
49
+ }
assets/images/ajax-loader.gif CHANGED
Binary file
assets/images/filetypes/document-code.png CHANGED
Binary file
assets/images/filetypes/document-excel.png CHANGED
Binary file
assets/images/filetypes/document-film.png CHANGED
Binary file
assets/images/filetypes/document-flash-movie.png CHANGED
Binary file
assets/images/filetypes/document-illustrator.png CHANGED
Binary file
assets/images/filetypes/document-image.png CHANGED
Binary file
assets/images/filetypes/document-music.png CHANGED
Binary file
assets/images/filetypes/document-pdf.png CHANGED
Binary file
assets/images/filetypes/document-photoshop.png CHANGED
Binary file
assets/images/filetypes/document-powerpoint.png CHANGED
Binary file
assets/images/filetypes/document-text-image.png CHANGED
Binary file
assets/images/filetypes/document-text.png CHANGED
Binary file
assets/images/filetypes/document-word-text.png CHANGED
Binary file
assets/images/filetypes/document-zipper.png CHANGED
Binary file
assets/images/filetypes/document.png CHANGED
Binary file
assets/images/placeholder.png CHANGED
Binary file
assets/js/chosen/chosen-sprite.png CHANGED
Binary file
assets/js/chosen/chosen-sprite@2x.png CHANGED
Binary file
assets/js/chosen/chosen.jquery.min.js CHANGED
@@ -4,6 +4,7 @@
4
  // Version 0.9.12
5
  // Full source at https://github.com/harvesthq/chosen
6
  // Copyright (c) 2011 Harvest http://getharvest.com
 
7
  // MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
8
  // This file is generated by `cake build`, do not edit it by hand.
9
- (function(){var e;e=function(){function e(){this.options_index=0;this.parsed=[]}e.prototype.add_node=function(e){return e.nodeName.toUpperCase()==="OPTGROUP"?this.add_group(e):this.add_option(e)};e.prototype.add_group=function(e){var t,n,r,i,s,o;t=this.parsed.length;this.parsed.push({array_index:t,group:!0,label:e.label,children:0,disabled:e.disabled});s=e.childNodes;o=[];for(r=0,i=s.length;r<i;r++){n=s[r];o.push(this.add_option(n,t,e.disabled))}return o};e.prototype.add_option=function(e,t,n){if(e.nodeName.toUpperCase()==="OPTION"){if(e.text!==""){t!=null&&(this.parsed[t].children+=1);this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:e.value,text:e.text,html:e.innerHTML,selected:e.selected,disabled:n===!0?n:e.disabled,group_array_index:t,classes:e.className,style:e.style.cssText})}else this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0});return this.options_index+=1}};return e}();e.select_to_array=function(t){var n,r,i,s,o;r=new e;o=t.childNodes;for(i=0,s=o.length;i<s;i++){n=o[i];r.add_node(n)}return r.parsed};this.SelectParser=e}).call(this);(function(){var e,t;t=this;e=function(){function e(e,t){this.form_field=e;this.options=t!=null?t:{};this.is_multiple=this.form_field.multiple;this.set_default_text();this.set_default_values();this.setup();this.set_up_html();this.register_observers();this.finish_setup()}e.prototype.set_default_values=function(){var e=this;this.click_test_action=function(t){return e.test_active_click(t)};this.activate_action=function(t){return e.activate_field(t)};this.active_field=!1;this.mouse_on_container=!1;this.results_showing=!1;this.result_highlighted=null;this.result_single_selected=null;this.allow_single_deselect=this.options.allow_single_deselect!=null&&this.form_field.options[0]!=null&&this.form_field.options[0].text===""?this.options.allow_single_deselect:!1;this.disable_search_threshold=this.options.disable_search_threshold||0;this.disable_search=this.options.disable_search||!1;this.enable_split_word_search=this.options.enable_split_word_search!=null?this.options.enable_split_word_search:!0;this.search_contains=this.options.search_contains||!1;this.choices=0;this.single_backstroke_delete=this.options.single_backstroke_delete||!1;this.max_selected_options=this.options.max_selected_options||Infinity;return this.inherit_select_classes=this.options.inherit_select_classes||!1};e.prototype.set_default_text=function(){this.form_field.getAttribute("data-placeholder")?this.default_text=this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||"Select Some Options":this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||"Select an Option";return this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||"No results match"};e.prototype.mouse_enter=function(){return this.mouse_on_container=!0};e.prototype.mouse_leave=function(){return this.mouse_on_container=!1};e.prototype.input_focus=function(e){var t=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return t.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()};e.prototype.input_blur=function(e){var t=this;if(!this.mouse_on_container){this.active_field=!1;return setTimeout(function(){return t.blur_test()},100)}};e.prototype.result_add_option=function(e){var t,n;if(!e.disabled){e.dom_id=this.container_id+"_o_"+e.array_index;t=e.selected&&this.is_multiple?[]:["active-result"];e.selected&&t.push("result-selected");e.group_array_index!=null&&t.push("group-option");e.classes!==""&&t.push(e.classes);n=e.style.cssText!==""?' style="'+e.style+'"':"";return'<li id="'+e.dom_id+'" class="'+t.join(" ")+'"'+n+">"+e.html+"</li>"}return""};e.prototype.results_update_field=function(){this.set_default_text();this.is_multiple||this.results_reset_cleanup();this.result_clear_highlight();this.result_single_selected=null;return this.results_build()};e.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()};e.prototype.results_search=function(e){return this.results_showing?this.winnow_results():this.results_show()};e.prototype.keyup_checker=function(e){var t,n;t=(n=e.which)!=null?n:e.keyCode;this.search_field_scale();switch(t){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices>0)return this.keydown_backstroke();if(!this.pending_backstroke){this.result_clear_highlight();return this.results_search()}break;case 13:e.preventDefault();if(this.results_showing)return this.result_select(e);break;case 27:this.results_showing&&this.results_hide();return!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}};e.prototype.generate_field_id=function(){var e;e=this.generate_random_id();this.form_field.id=e;return e};e.prototype.generate_random_char=function(){var e,t,n;e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";n=Math.floor(Math.random()*e.length);return t=e.substring(n,n+1)};return e}();t.AbstractChosen=e}).call(this);(function(){var e,t,n,r,i={}.hasOwnProperty,s=function(e,t){function r(){this.constructor=e}for(var n in t)i.call(t,n)&&(e[n]=t[n]);r.prototype=t.prototype;e.prototype=new r;e.__super__=t.prototype;return e};r=this;e=jQuery;e.fn.extend({chosen:function(n){var r,i,s;s=navigator.userAgent.toLowerCase();i=/(msie) ([\w.]+)/.exec(s)||[];r={name:i[1]||"",version:i[2]||"0"};return r.name==="msie"&&(r.version==="6.0"||r.version==="7.0"&&document.documentMode===7)?this:this.each(function(r){var i;i=e(this);if(!i.hasClass("chzn-done"))return i.data("chosen",new t(this,n))})}});t=function(t){function i(){return i.__super__.constructor.apply(this,arguments)}s(i,t);i.prototype.setup=function(){this.form_field_jq=e(this.form_field);this.current_value=this.form_field_jq.val();return this.is_rtl=this.form_field_jq.hasClass("chzn-rtl")};i.prototype.finish_setup=function(){return this.form_field_jq.addClass("chzn-done")};i.prototype.set_up_html=function(){var t,r,i,s,o,u;this.container_id=this.form_field.id.length?this.form_field.id.replace(/[^\w]/g,"_"):this.generate_field_id();this.container_id+="_chzn";t=["chzn-container"];t.push("chzn-container-"+(this.is_multiple?"multi":"single"));this.inherit_select_classes&&this.form_field.className&&t.push(this.form_field.className);this.is_rtl&&t.push("chzn-rtl");this.f_width=this.form_field_jq.outerWidth();i={id:this.container_id,"class":t.join(" "),style:"width: "+this.f_width+"px;",title:this.form_field.title};r=e("<div />",i);this.is_multiple?r.html('<ul class="chzn-choices"><li class="search-field"><input type="text" value="'+this.default_text+'" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chzn-drop" style="left:-9000px;"><ul class="chzn-results"></ul></div>'):r.html('<a href="javascript:void(0)" class="chzn-single chzn-default" tabindex="-1"><span>'+this.default_text+'</span><div><b></b></div></a><div class="chzn-drop" style="left:-9000px;"><div class="chzn-search"><input type="text" autocomplete="off" /></div><ul class="chzn-results"></ul></div>');this.form_field_jq.hide().after(r);this.container=e("#"+this.container_id);this.dropdown=this.container.find("div.chzn-drop").first();s=this.container.height();o=this.f_width-n(this.dropdown);this.dropdown.css({width:o+"px",top:s+"px"});this.search_field=this.container.find("input").first();this.search_results=this.container.find("ul.chzn-results").first();this.search_field_scale();this.search_no_results=this.container.find("li.no-results").first();if(this.is_multiple){this.search_choices=this.container.find("ul.chzn-choices").first();this.search_container=this.container.find("li.search-field").first()}else{this.search_container=this.container.find("div.chzn-search").first();this.selected_item=this.container.find(".chzn-single").first();u=o-n(this.search_container)-n(this.search_field);this.search_field.css({width:u+"px"})}this.results_build();this.set_tab_index();return this.form_field_jq.trigger("liszt:ready",{chosen:this})};i.prototype.register_observers=function(){var e=this;this.container.mousedown(function(t){e.container_mousedown(t)});this.container.mouseup(function(t){e.container_mouseup(t)});this.container.mouseenter(function(t){e.mouse_enter(t)});this.container.mouseleave(function(t){e.mouse_leave(t)});this.search_results.mouseup(function(t){e.search_results_mouseup(t)});this.search_results.mouseover(function(t){e.search_results_mouseover(t)});this.search_results.mouseout(function(t){e.search_results_mouseout(t)});this.form_field_jq.bind("liszt:updated",function(t){e.results_update_field(t)});this.form_field_jq.bind("liszt:activate",function(t){e.activate_field(t)});this.form_field_jq.bind("liszt:open",function(t){e.container_mousedown(t)});this.search_field.blur(function(t){e.input_blur(t)});this.search_field.keyup(function(t){e.keyup_checker(t)});this.search_field.keydown(function(t){e.keydown_checker(t)});this.search_field.focus(function(t){e.input_focus(t)});return this.is_multiple?this.search_choices.click(function(t){e.choices_click(t)}):this.container.click(function(e){e.preventDefault()})};i.prototype.search_field_disabled=function(){this.is_disabled=this.form_field_jq[0].disabled;if(this.is_disabled){this.container.addClass("chzn-disabled");this.search_field[0].disabled=!0;this.is_multiple||this.selected_item.unbind("focus",this.activate_action);return this.close_field()}this.container.removeClass("chzn-disabled");this.search_field[0].disabled=!1;if(!this.is_multiple)return this.selected_item.bind("focus",this.activate_action)};i.prototype.container_mousedown=function(t){var n;if(!this.is_disabled){n=t!=null?e(t.target).hasClass("search-choice-close"):!1;t&&t.type==="mousedown"&&!this.results_showing&&t.preventDefault();if(!this.pending_destroy_click&&!n){if(!this.active_field){this.is_multiple&&this.search_field.val("");e(document).click(this.click_test_action);this.results_show()}else if(!this.is_multiple&&t&&(e(t.target)[0]===this.selected_item[0]||e(t.target).parents("a.chzn-single").length)){t.preventDefault();this.results_toggle()}return this.activate_field()}return this.pending_destroy_click=!1}};i.prototype.container_mouseup=function(e){if(e.target.nodeName==="ABBR"&&!this.is_disabled)return this.results_reset(e)};i.prototype.blur_test=function(e){if(!this.active_field&&this.container.hasClass("chzn-container-active"))return this.close_field()};i.prototype.close_field=function(){e(document).unbind("click",this.click_test_action);this.active_field=!1;this.results_hide();this.container.removeClass("chzn-container-active");this.winnow_results_clear();this.clear_backstroke();this.show_search_field_default();return this.search_field_scale()};i.prototype.activate_field=function(){this.container.addClass("chzn-container-active");this.active_field=!0;this.search_field.val(this.search_field.val());return this.search_field.focus()};i.prototype.test_active_click=function(t){return e(t.target).parents("#"+this.container_id).length?this.active_field=!0:this.close_field()};i.prototype.results_build=function(){var e,t,n,i,s;this.parsing=!0;this.results_data=r.SelectParser.select_to_array(this.form_field);if(this.is_multiple&&this.choices>0){this.search_choices.find("li.search-choice").remove();this.choices=0}else if(!this.is_multiple){this.selected_item.addClass("chzn-default").find("span").text(this.default_text);this.disable_search||this.form_field.options.length<=this.disable_search_threshold?this.container.addClass("chzn-container-single-nosearch"):this.container.removeClass("chzn-container-single-nosearch")}e="";s=this.results_data;for(n=0,i=s.length;n<i;n++){t=s[n];if(t.group)e+=this.result_add_group(t);else if(!t.empty){e+=this.result_add_option(t);if(t.selected&&this.is_multiple)this.choice_build(t);else if(t.selected&&!this.is_multiple){this.selected_item.removeClass("chzn-default").find("span").text(t.text);this.allow_single_deselect&&this.single_deselect_control_build()}}}this.search_field_disabled();this.show_search_field_default();this.search_field_scale();this.search_results.html(e);return this.parsing=!1};i.prototype.result_add_group=function(t){if(!t.disabled){t.dom_id=this.container_id+"_g_"+t.array_index;return'<li id="'+t.dom_id+'" class="group-result">'+e("<div />").text(t.label).html()+"</li>"}return""};i.prototype.result_do_highlight=function(e){var t,n,r,i,s;if(e.length){this.result_clear_highlight();this.result_highlight=e;this.result_highlight.addClass("highlighted");r=parseInt(this.search_results.css("maxHeight"),10);s=this.search_results.scrollTop();i=r+s;n=this.result_highlight.position().top+this.search_results.scrollTop();t=n+this.result_highlight.outerHeight();if(t>=i)return this.search_results.scrollTop(t-r>0?t-r:0);if(n<s)return this.search_results.scrollTop(n)}};i.prototype.result_clear_highlight=function(){this.result_highlight&&this.result_highlight.removeClass("highlighted");return this.result_highlight=null};i.prototype.results_show=function(){var e;if(!this.is_multiple){this.selected_item.addClass("chzn-single-with-drop");this.result_single_selected&&this.result_do_highlight(this.result_single_selected)}else if(this.max_selected_options<=this.choices){this.form_field_jq.trigger("liszt:maxselected",{chosen:this});return!1}e=this.is_multiple?this.container.height():this.container.height()-1;this.form_field_jq.trigger("liszt:showing_dropdown",{chosen:this});this.dropdown.css({top:e+"px",left:0});this.results_showing=!0;this.search_field.focus();this.search_field.val(this.search_field.val());return this.winnow_results()};i.prototype.results_hide=function(){this.is_multiple||this.selected_item.removeClass("chzn-single-with-drop");this.result_clear_highlight();this.form_field_jq.trigger("liszt:hiding_dropdown",{chosen:this});this.dropdown.css({left:"-9000px"});return this.results_showing=!1};i.prototype.set_tab_index=function(e){var t;if(this.form_field_jq.attr("tabindex")){t=this.form_field_jq.attr("tabindex");this.form_field_jq.attr("tabindex",-1);return this.search_field.attr("tabindex",t)}};i.prototype.show_search_field_default=function(){if(this.is_multiple&&this.choices<1&&!this.active_field){this.search_field.val(this.default_text);return this.search_field.addClass("default")}this.search_field.val("");return this.search_field.removeClass("default")};i.prototype.search_results_mouseup=function(t){var n;n=e(t.target).hasClass("active-result")?e(t.target):e(t.target).parents(".active-result").first();if(n.length){this.result_highlight=n;this.result_select(t);return this.search_field.focus()}};i.prototype.search_results_mouseover=function(t){var n;n=e(t.target).hasClass("active-result")?e(t.target):e(t.target).parents(".active-result").first();if(n)return this.result_do_highlight(n)};i.prototype.search_results_mouseout=function(t){if(e(t.target).hasClass("active-result"))return this.result_clear_highlight()};i.prototype.choices_click=function(t){t.preventDefault();if(this.active_field&&!e(t.target).hasClass("search-choice")&&!this.results_showing)return this.results_show()};i.prototype.choice_build=function(t){var n,r,i,s=this;if(this.is_multiple&&this.max_selected_options<=this.choices){this.form_field_jq.trigger("liszt:maxselected",{chosen:this});return!1}n=this.container_id+"_c_"+t.array_index;this.choices+=1;t.disabled?r='<li class="search-choice search-choice-disabled" id="'+n+'"><span>'+t.html+"</span></li>":r='<li class="search-choice" id="'+n+'"><span>'+t.html+'</span><a href="javascript:void(0)" class="search-choice-close" rel="'+t.array_index+'"></a></li>';this.search_container.before(r);i=e("#"+n).find("a").first();return i.click(function(e){return s.choice_destroy_link_click(e)})};i.prototype.choice_destroy_link_click=function(t){t.preventDefault();if(!this.is_disabled){this.pending_destroy_click=!0;return this.choice_destroy(e(t.target))}return t.stopPropagation};i.prototype.choice_destroy=function(e){if(this.result_deselect(e.attr("rel"))){this.choices-=1;this.show_search_field_default();this.is_multiple&&this.choices>0&&this.search_field.val().length<1&&this.results_hide();e.parents("li").first().remove();return this.search_field_scale()}};i.prototype.results_reset=function(){this.form_field.options[0].selected=!0;this.selected_item.find("span").text(this.default_text);this.is_multiple||this.selected_item.addClass("chzn-default");this.show_search_field_default();this.results_reset_cleanup();this.form_field_jq.trigger("change");if(this.active_field)return this.results_hide()};i.prototype.results_reset_cleanup=function(){this.current_value=this.form_field_jq.val();return this.selected_item.find("abbr").remove()};i.prototype.result_select=function(e){var t,n,r,i;if(this.result_highlight){t=this.result_highlight;n=t.attr("id");this.result_clear_highlight();if(this.is_multiple)this.result_deactivate(t);else{this.search_results.find(".result-selected").removeClass("result-selected");this.result_single_selected=t;this.selected_item.removeClass("chzn-default")}t.addClass("result-selected");i=n.substr(n.lastIndexOf("_")+1);r=this.results_data[i];r.selected=!0;this.form_field.options[r.options_index].selected=!0;if(this.is_multiple)this.choice_build(r);else{this.selected_item.find("span").first().text(r.text);this.allow_single_deselect&&this.single_deselect_control_build()}(!e.metaKey&&!e.ctrlKey||!this.is_multiple)&&this.results_hide();this.search_field.val("");(this.is_multiple||this.form_field_jq.val()!==this.current_value)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[r.options_index].value});this.current_value=this.form_field_jq.val();return this.search_field_scale()}};i.prototype.result_activate=function(e){return e.addClass("active-result")};i.prototype.result_deactivate=function(e){return e.removeClass("active-result")};i.prototype.result_deselect=function(t){var n,r;r=this.results_data[t];if(!this.form_field.options[r.options_index].disabled){r.selected=!1;this.form_field.options[r.options_index].selected=!1;n=e("#"+this.container_id+"_o_"+t);n.removeClass("result-selected").addClass("active-result").show();this.result_clear_highlight();this.winnow_results();this.form_field_jq.trigger("change",{deselected:this.form_field.options[r.options_index].value});this.search_field_scale();return!0}return!1};i.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect&&this.selected_item.find("abbr").length<1)return this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>')};i.prototype.winnow_results=function(){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y;this.no_results_clear();f=0;l=this.search_field.val()===this.default_text?"":e("<div/>").text(e.trim(this.search_field.val())).html();o=this.search_contains?"":"^";s=new RegExp(o+l.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i");p=new RegExp(l.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i");y=this.results_data;for(d=0,m=y.length;d<m;d++){n=y[d];if(!n.disabled&&!n.empty)if(n.group)e("#"+n.dom_id).css("display","none");else if(!this.is_multiple||!n.selected){t=!1;a=n.dom_id;u=e("#"+a);if(s.test(n.html)){t=!0;f+=1}else if(this.enable_split_word_search&&(n.html.indexOf(" ")>=0||n.html.indexOf("[")===0)){i=n.html.replace(/\[|\]/g,"").split(" ");if(i.length)for(v=0,g=i.length;v<g;v++){r=i[v];if(s.test(r)){t=!0;f+=1}}}if(t){if(l.length){c=n.html.search(p);h=n.html.substr(0,c+l.length)+"</em>"+n.html.substr(c+l.length);h=h.substr(0,c)+"<em>"+h.substr(c)}else h=n.html;u.html(h);this.result_activate(u);n.group_array_index!=null&&e("#"+this.results_data[n.group_array_index].dom_id).css("display","list-item")}else{this.result_highlight&&a===this.result_highlight.attr("id")&&this.result_clear_highlight();this.result_deactivate(u)}}}return f<1&&l.length?this.no_results(l):this.winnow_results_set_highlight()};i.prototype.winnow_results_clear=function(){var t,n,r,i,s;this.search_field.val("");n=this.search_results.find("li");s=[];for(r=0,i=n.length;r<i;r++){t=n[r];t=e(t);t.hasClass("group-result")?s.push(t.css("display","auto")):!this.is_multiple||!t.hasClass("result-selected")?s.push(this.result_activate(t)):s.push(void 0)}return s};i.prototype.winnow_results_set_highlight=function(){var e,t;if(!this.result_highlight){t=this.is_multiple?[]:this.search_results.find(".result-selected.active-result");e=t.length?t.first():this.search_results.find(".active-result").first();if(e!=null)return this.result_do_highlight(e)}};i.prototype.no_results=function(t){var n;n=e('<li class="no-results">'+this.results_none_found+' "<span></span>"</li>');n.find("span").first().html(t);return this.search_results.append(n)};i.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()};i.prototype.keydown_arrow=function(){var t,n;if(!this.result_highlight){t=this.search_results.find("li.active-result").first();t&&this.result_do_highlight(e(t))}else if(this.results_showing){n=this.result_highlight.nextAll("li.active-result").first();n&&this.result_do_highlight(n)}if(!this.results_showing)return this.results_show()};i.prototype.keyup_arrow=function(){var e;if(!this.results_showing&&!this.is_multiple)return this.results_show();if(this.result_highlight){e=this.result_highlight.prevAll("li.active-result");if(e.length)return this.result_do_highlight(e.first());this.choices>0&&this.results_hide();return this.result_clear_highlight()}};i.prototype.keydown_backstroke=function(){var e;if(this.pending_backstroke){this.choice_destroy(this.pending_backstroke.find("a").first());return this.clear_backstroke()}e=this.search_container.siblings("li.search-choice").last();if(e.length&&!e.hasClass("search-choice-disabled")){this.pending_backstroke=e;return this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")}};i.prototype.clear_backstroke=function(){this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus");return this.pending_backstroke=null};i.prototype.keydown_checker=function(e){var t,n;t=(n=e.which)!=null?n:e.keyCode;this.search_field_scale();t!==8&&this.pending_backstroke&&this.clear_backstroke();switch(t){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(e);this.mouse_on_container=!1;break;case 13:e.preventDefault();break;case 38:e.preventDefault();this.keyup_arrow();break;case 40:this.keydown_arrow()}};i.prototype.search_field_scale=function(){var t,n,r,i,s,o,u,a,f;if(this.is_multiple){r=0;u=0;s="position:absolute; left: -1000px; top: -1000px; display:none;";o=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"];for(a=0,f=o.length;a<f;a++){i=o[a];s+=i+":"+this.search_field.css(i)+";"}n=e("<div />",{style:s});n.text(this.search_field.val());e("body").append(n);u=n.width()+25;n.remove();u>this.f_width-10&&(u=this.f_width-10);this.search_field.css({width:u+"px"});t=this.container.height();return this.dropdown.css({top:t+"px"})}};i.prototype.generate_random_id=function(){var t;t="sel"+this.generate_random_char()+this.generate_random_char()+this.generate_random_char();while(e("#"+t).length>0)t+=this.generate_random_char();return t};return i}(AbstractChosen);r.Chosen=t;n=function(e){var t;return t=e.outerWidth()-e.width()};r.get_side_border_padding=n}).call(this);
4
  // Version 0.9.12
5
  // Full source at https://github.com/harvesthq/chosen
6
  // Copyright (c) 2011 Harvest http://getharvest.com
7
+
8
  // MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
9
  // This file is generated by `cake build`, do not edit it by hand.
10
+ (function(){var e;e=function(){function e(){this.options_index=0,this.parsed=[]}return e.prototype.add_node=function(e){return e.nodeName.toUpperCase()==="OPTGROUP"?this.add_group(e):this.add_option(e)},e.prototype.add_group=function(e){var t,n,r,i,s,o;t=this.parsed.length,this.parsed.push({array_index:t,group:!0,label:e.label,children:0,disabled:e.disabled}),s=e.childNodes,o=[];for(r=0,i=s.length;r<i;r++)n=s[r],o.push(this.add_option(n,t,e.disabled));return o},e.prototype.add_option=function(e,t,n){if(e.nodeName.toUpperCase()==="OPTION")return e.text!==""?(t!=null&&(this.parsed[t].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:e.value,text:e.text,html:e.innerHTML,selected:e.selected,disabled:n===!0?n:e.disabled,group_array_index:t,classes:e.className,style:e.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1},e}(),e.select_to_array=function(t){var n,r,i,s,o;r=new e,o=t.childNodes;for(i=0,s=o.length;i<s;i++)n=o[i],r.add_node(n);return r.parsed},this.SelectParser=e}).call(this),function(){var e,t;t=this,e=function(){function e(e,t){this.form_field=e,this.options=t!=null?t:{},this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.finish_setup()}return e.prototype.set_default_values=function(){var e=this;return this.click_test_action=function(t){return e.test_active_click(t)},this.activate_action=function(t){return e.activate_field(t)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.result_single_selected=null,this.allow_single_deselect=this.options.allow_single_deselect!=null&&this.form_field.options[0]!=null&&this.form_field.options[0].text===""?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=this.options.enable_split_word_search!=null?this.options.enable_split_word_search:!0,this.search_contains=this.options.search_contains||!1,this.choices=0,this.single_backstroke_delete=this.options.single_backstroke_delete||!1,this.max_selected_options=this.options.max_selected_options||Infinity,this.inherit_select_classes=this.options.inherit_select_classes||!1},e.prototype.set_default_text=function(){return this.form_field.getAttribute("data-placeholder")?this.default_text=this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||"Select Some Options":this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||"Select an Option",this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||"No results match"},e.prototype.mouse_enter=function(){return this.mouse_on_container=!0},e.prototype.mouse_leave=function(){return this.mouse_on_container=!1},e.prototype.input_focus=function(e){var t=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return t.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},e.prototype.input_blur=function(e){var t=this;if(!this.mouse_on_container)return this.active_field=!1,setTimeout(function(){return t.blur_test()},100)},e.prototype.result_add_option=function(e){var t,n;return e.disabled?"":(e.dom_id=this.container_id+"_o_"+e.array_index,t=e.selected&&this.is_multiple?[]:["active-result"],e.selected&&t.push("result-selected"),e.group_array_index!=null&&t.push("group-option"),e.classes!==""&&t.push(e.classes),n=e.style.cssText!==""?' style="'+e.style+'"':"",'<li id="'+e.dom_id+'" class="'+t.join(" ")+'"'+n+">"+e.html+"</li>")},e.prototype.results_update_field=function(){return this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.result_single_selected=null,this.results_build()},e.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},e.prototype.results_search=function(e){return this.results_showing?this.winnow_results():this.results_show()},e.prototype.keyup_checker=function(e){var t,n;t=(n=e.which)!=null?n:e.keyCode,this.search_field_scale();switch(t){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:e.preventDefault();if(this.results_showing)return this.result_select(e);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},e.prototype.generate_field_id=function(){var e;return e=this.generate_random_id(),this.form_field.id=e,e},e.prototype.generate_random_char=function(){var e,t,n;return e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",n=Math.floor(Math.random()*e.length),t=e.substring(n,n+1)},e}(),t.AbstractChosen=e}.call(this),function(){var e,t,n,r,i={}.hasOwnProperty,s=function(e,t){function r(){this.constructor=e}for(var n in t)i.call(t,n)&&(e[n]=t[n]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e};r=this,e=jQuery,e.fn.extend({chosen:function(n){var r,i,s;return s=navigator.userAgent.toLowerCase(),i=/(msie) ([\w.]+)/.exec(s)||[],r={name:i[1]||"",version:i[2]||"0"},r.name==="msie"&&(r.version==="6.0"||r.version==="7.0"&&document.documentMode===7)?this:this.each(function(r){var i;i=e(this);if(!i.hasClass("chzn-done"))return i.data("chosen",new t(this,n))})}}),t=function(t){function i(){return i.__super__.constructor.apply(this,arguments)}return s(i,t),i.prototype.setup=function(){return this.form_field_jq=e(this.form_field),this.current_value=this.form_field_jq.val(),this.is_rtl=this.form_field_jq.hasClass("chzn-rtl")},i.prototype.finish_setup=function(){return this.form_field_jq.addClass("chzn-done")},i.prototype.set_up_html=function(){var t,r,i,s,o,u;return this.container_id=this.form_field.id.length?this.form_field.id.replace(/[^\w]/g,"_"):this.generate_field_id(),this.container_id+="_chzn",t=["chzn-container"],t.push("chzn-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&t.push(this.form_field.className),this.is_rtl&&t.push("chzn-rtl"),this.f_width=this.form_field_jq.outerWidth(),i={id:this.container_id,"class":t.join(" "),style:"width: "+this.f_width+"px;",title:this.form_field.title},r=e("<div />",i),this.is_multiple?r.html('<ul class="chzn-choices"><li class="search-field"><input type="text" value="'+this.default_text+'" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chzn-drop" style="left:-9000px;"><ul class="chzn-results"></ul></div>'):r.html('<a href="javascript:void(0)" class="chzn-single chzn-default" tabindex="-1"><span>'+this.default_text+'</span><div><b></b></div></a><div class="chzn-drop" style="left:-9000px;"><div class="chzn-search"><input type="text" autocomplete="off" /></div><ul class="chzn-results"></ul></div>'),this.form_field_jq.hide().after(r),this.container=e("#"+this.container_id),this.dropdown=this.container.find("div.chzn-drop").first(),s=this.container.height(),o=this.f_width-n(this.dropdown),this.dropdown.css({width:o+"px",top:s+"px"}),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chzn-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chzn-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chzn-search").first(),this.selected_item=this.container.find(".chzn-single").first(),u=o-n(this.search_container)-n(this.search_field),this.search_field.css({width:u+"px"})),this.results_build(),this.set_tab_index(),this.form_field_jq.trigger("liszt:ready",{chosen:this})},i.prototype.register_observers=function(){var e=this;return this.container.mousedown(function(t){e.container_mousedown(t)}),this.container.mouseup(function(t){e.container_mouseup(t)}),this.container.mouseenter(function(t){e.mouse_enter(t)}),this.container.mouseleave(function(t){e.mouse_leave(t)}),this.search_results.mouseup(function(t){e.search_results_mouseup(t)}),this.search_results.mouseover(function(t){e.search_results_mouseover(t)}),this.search_results.mouseout(function(t){e.search_results_mouseout(t)}),this.form_field_jq.bind("liszt:updated",function(t){e.results_update_field(t)}),this.form_field_jq.bind("liszt:activate",function(t){e.activate_field(t)}),this.form_field_jq.bind("liszt:open",function(t){e.container_mousedown(t)}),this.search_field.blur(function(t){e.input_blur(t)}),this.search_field.keyup(function(t){e.keyup_checker(t)}),this.search_field.keydown(function(t){e.keydown_checker(t)}),this.search_field.focus(function(t){e.input_focus(t)}),this.is_multiple?this.search_choices.click(function(t){e.choices_click(t)}):this.container.click(function(e){e.preventDefault()})},i.prototype.search_field_disabled=function(){this.is_disabled=this.form_field_jq[0].disabled;if(this.is_disabled)return this.container.addClass("chzn-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus",this.activate_action),this.close_field();this.container.removeClass("chzn-disabled"),this.search_field[0].disabled=!1;if(!this.is_multiple)return this.selected_item.bind("focus",this.activate_action)},i.prototype.container_mousedown=function(t){var n;if(!this.is_disabled)return n=t!=null?e(t.target).hasClass("search-choice-close"):!1,t&&t.type==="mousedown"&&!this.results_showing&&t.preventDefault(),!this.pending_destroy_click&&!n?(this.active_field?!this.is_multiple&&t&&(e(t.target)[0]===this.selected_item[0]||e(t.target).parents("a.chzn-single").length)&&(t.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),e(document).click(this.click_test_action),this.results_show()),this.activate_field()):this.pending_destroy_click=!1},i.prototype.container_mouseup=function(e){if(e.target.nodeName==="ABBR"&&!this.is_disabled)return this.results_reset(e)},i.prototype.blur_test=function(e){if(!this.active_field&&this.container.hasClass("chzn-container-active"))return this.close_field()},i.prototype.close_field=function(){return e(document).unbind("click",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chzn-container-active"),this.winnow_results_clear(),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},i.prototype.activate_field=function(){return this.container.addClass("chzn-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},i.prototype.test_active_click=function(t){return e(t.target).parents("#"+this.container_id).length?this.active_field=!0:this.close_field()},i.prototype.results_build=function(){var e,t,n,i,s;this.parsing=!0,this.results_data=r.SelectParser.select_to_array(this.form_field),this.is_multiple&&this.choices>0?(this.search_choices.find("li.search-choice").remove(),this.choices=0):this.is_multiple||(this.selected_item.addClass("chzn-default").find("span").text(this.default_text),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?this.container.addClass("chzn-container-single-nosearch"):this.container.removeClass("chzn-container-single-nosearch")),e="",s=this.results_data;for(n=0,i=s.length;n<i;n++)t=s[n],t.group?e+=this.result_add_group(t):t.empty||(e+=this.result_add_option(t),t.selected&&this.is_multiple?this.choice_build(t):t.selected&&!this.is_multiple&&(this.selected_item.removeClass("chzn-default").find("span").text(t.text),this.allow_single_deselect&&this.single_deselect_control_build()));return this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.search_results.html(e),this.parsing=!1},i.prototype.result_add_group=function(t){return t.disabled?"":(t.dom_id=this.container_id+"_g_"+t.array_index,'<li id="'+t.dom_id+'" class="group-result">'+e("<div />").text(t.label).html()+"</li>")},i.prototype.result_do_highlight=function(e){var t,n,r,i,s;if(e.length){this.result_clear_highlight(),this.result_highlight=e,this.result_highlight.addClass("highlighted"),r=parseInt(this.search_results.css("maxHeight"),10),s=this.search_results.scrollTop(),i=r+s,n=this.result_highlight.position().top+this.search_results.scrollTop(),t=n+this.result_highlight.outerHeight();if(t>=i)return this.search_results.scrollTop(t-r>0?t-r:0);if(n<s)return this.search_results.scrollTop(n)}},i.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},i.prototype.results_show=function(){var e;if(!this.is_multiple)this.selected_item.addClass("chzn-single-with-drop"),this.result_single_selected&&this.result_do_highlight(this.result_single_selected);else if(this.max_selected_options<=this.choices)return this.form_field_jq.trigger("liszt:maxselected",{chosen:this}),!1;return e=this.is_multiple?this.container.height():this.container.height()-1,this.form_field_jq.trigger("liszt:showing_dropdown",{chosen:this}),this.dropdown.css({top:e+"px",left:0}),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.search_field.val()),this.winnow_results()},i.prototype.results_hide=function(){return this.is_multiple||this.selected_item.removeClass("chzn-single-with-drop"),this.result_clear_highlight(),this.form_field_jq.trigger("liszt:hiding_dropdown",{chosen:this}),this.dropdown.css({left:"-9000px"}),this.results_showing=!1},i.prototype.set_tab_index=function(e){var t;if(this.form_field_jq.attr("tabindex"))return t=this.form_field_jq.attr("tabindex"),this.form_field_jq.attr("tabindex",-1),this.search_field.attr("tabindex",t)},i.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},i.prototype.search_results_mouseup=function(t){var n;n=e(t.target).hasClass("active-result")?e(t.target):e(t.target).parents(".active-result").first();if(n.length)return this.result_highlight=n,this.result_select(t),this.search_field.focus()},i.prototype.search_results_mouseover=function(t){var n;n=e(t.target).hasClass("active-result")?e(t.target):e(t.target).parents(".active-result").first();if(n)return this.result_do_highlight(n)},i.prototype.search_results_mouseout=function(t){if(e(t.target).hasClass("active-result"))return this.result_clear_highlight()},i.prototype.choices_click=function(t){t.preventDefault();if(this.active_field&&!e(t.target).hasClass("search-choice")&&!this.results_showing)return this.results_show()},i.prototype.choice_build=function(t){var n,r,i,s=this;return this.is_multiple&&this.max_selected_options<=this.choices?(this.form_field_jq.trigger("liszt:maxselected",{chosen:this}),!1):(n=this.container_id+"_c_"+t.array_index,this.choices+=1,t.disabled?r='<li class="search-choice search-choice-disabled" id="'+n+'"><span>'+t.html+"</span></li>":r='<li class="search-choice" id="'+n+'"><span>'+t.html+'</span><a href="javascript:void(0)" class="search-choice-close" rel="'+t.array_index+'"></a></li>',this.search_container.before(r),i=e("#"+n).find("a").first(),i.click(function(e){return s.choice_destroy_link_click(e)}))},i.prototype.choice_destroy_link_click=function(t){return t.preventDefault(),this.is_disabled?t.stopPropagation:(this.pending_destroy_click=!0,this.choice_destroy(e(t.target)))},i.prototype.choice_destroy=function(e){if(this.result_deselect(e.attr("rel")))return this.choices-=1,this.show_search_field_default(),this.is_multiple&&this.choices>0&&this.search_field.val().length<1&&this.results_hide(),e.parents("li").first().remove(),this.search_field_scale()},i.prototype.results_reset=function(){this.form_field.options[0].selected=!0,this.selected_item.find("span").text(this.default_text),this.is_multiple||this.selected_item.addClass("chzn-default"),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change");if(this.active_field)return this.results_hide()},i.prototype.results_reset_cleanup=function(){return this.current_value=this.form_field_jq.val(),this.selected_item.find("abbr").remove()},i.prototype.result_select=function(e){var t,n,r,i;if(this.result_highlight)return t=this.result_highlight,n=t.attr("id"),this.result_clear_highlight(),this.is_multiple?this.result_deactivate(t):(this.search_results.find(".result-selected").removeClass("result-selected"),this.result_single_selected=t,this.selected_item.removeClass("chzn-default")),t.addClass("result-selected"),i=n.substr(n.lastIndexOf("_")+1),r=this.results_data[i],r.selected=!0,this.form_field.options[r.options_index].selected=!0,this.is_multiple?this.choice_build(r):(this.selected_item.find("span").first().text(r.text),this.allow_single_deselect&&this.single_deselect_control_build()),(!e.metaKey&&!e.ctrlKey||!this.is_multiple)&&this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field_jq.val()!==this.current_value)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[r.options_index].value}),this.current_value=this.form_field_jq.val(),this.search_field_scale()},i.prototype.result_activate=function(e){return e.addClass("active-result")},i.prototype.result_deactivate=function(e){return e.removeClass("active-result")},i.prototype.result_deselect=function(t){var n,r;return r=this.results_data[t],this.form_field.options[r.options_index].disabled?!1:(r.selected=!1,this.form_field.options[r.options_index].selected=!1,n=e("#"+this.container_id+"_o_"+t),n.removeClass("result-selected").addClass("active-result").show(),this.result_clear_highlight(),this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[r.options_index].value}),this.search_field_scale(),!0)},i.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect&&this.selected_item.find("abbr").length<1)return this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>')},i.prototype.winnow_results=function(){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y;this.no_results_clear(),f=0,l=this.search_field.val()===this.default_text?"":e("<div/>").text(e.trim(this.search_field.val())).html(),o=this.search_contains?"":"^",s=new RegExp(o+l.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),p=new RegExp(l.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),y=this.results_data;for(d=0,m=y.length;d<m;d++){n=y[d];if(!n.disabled&&!n.empty)if(n.group)e("#"+n.dom_id).css("display","none");else if(!this.is_multiple||!n.selected){t=!1,a=n.dom_id,u=e("#"+a);if(s.test(n.html))t=!0,f+=1;else if(this.enable_split_word_search&&(n.html.indexOf(" ")>=0||n.html.indexOf("[")===0)){i=n.html.replace(/\[|\]/g,"").split(" ");if(i.length)for(v=0,g=i.length;v<g;v++)r=i[v],s.test(r)&&(t=!0,f+=1)}t?(l.length?(c=n.html.search(p),h=n.html.substr(0,c+l.length)+"</em>"+n.html.substr(c+l.length),h=h.substr(0,c)+"<em>"+h.substr(c)):h=n.html,u.html(h),this.result_activate(u),n.group_array_index!=null&&e("#"+this.results_data[n.group_array_index].dom_id).css("display","list-item")):(this.result_highlight&&a===this.result_highlight.attr("id")&&this.result_clear_highlight(),this.result_deactivate(u))}}return f<1&&l.length?this.no_results(l):this.winnow_results_set_highlight()},i.prototype.winnow_results_clear=function(){var t,n,r,i,s;this.search_field.val(""),n=this.search_results.find("li"),s=[];for(r=0,i=n.length;r<i;r++)t=n[r],t=e(t),t.hasClass("group-result")?s.push(t.css("display","auto")):!this.is_multiple||!t.hasClass("result-selected")?s.push(this.result_activate(t)):s.push(void 0);return s},i.prototype.winnow_results_set_highlight=function(){var e,t;if(!this.result_highlight){t=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),e=t.length?t.first():this.search_results.find(".active-result").first();if(e!=null)return this.result_do_highlight(e)}},i.prototype.no_results=function(t){var n;return n=e('<li class="no-results">'+this.results_none_found+' "<span></span>"</li>'),n.find("span").first().html(t),this.search_results.append(n)},i.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},i.prototype.keydown_arrow=function(){var t,n;this.result_highlight?this.results_showing&&(n=this.result_highlight.nextAll("li.active-result").first(),n&&this.result_do_highlight(n)):(t=this.search_results.find("li.active-result").first(),t&&this.result_do_highlight(e(t)));if(!this.results_showing)return this.results_show()},i.prototype.keyup_arrow=function(){var e;if(!this.results_showing&&!this.is_multiple)return this.results_show();if(this.result_highlight)return e=this.result_highlight.prevAll("li.active-result"),e.length?this.result_do_highlight(e.first()):(this.choices>0&&this.results_hide(),this.result_clear_highlight())},i.prototype.keydown_backstroke=function(){var e;if(this.pending_backstroke)return this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke();e=this.search_container.siblings("li.search-choice").last();if(e.length&&!e.hasClass("search-choice-disabled"))return this.pending_backstroke=e,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")},i.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},i.prototype.keydown_checker=function(e){var t,n;t=(n=e.which)!=null?n:e.keyCode,this.search_field_scale(),t!==8&&this.pending_backstroke&&this.clear_backstroke();switch(t){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(e),this.mouse_on_container=!1;break;case 13:e.preventDefault();break;case 38:e.preventDefault(),this.keyup_arrow();break;case 40:this.keydown_arrow()}},i.prototype.search_field_scale=function(){var t,n,r,i,s,o,u,a,f;if(this.is_multiple){r=0,u=0,s="position:absolute; left: -1000px; top: -1000px; display:none;",o=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"];for(a=0,f=o.length;a<f;a++)i=o[a],s+=i+":"+this.search_field.css(i)+";";return n=e("<div />",{style:s}),n.text(this.search_field.val()),e("body").append(n),u=n.width()+25,n.remove(),u>this.f_width-10&&(u=this.f_width-10),this.search_field.css({width:u+"px"}),t=this.container.height(),this.dropdown.css({top:t+"px"})}},i.prototype.generate_random_id=function(){var t;t="sel"+this.generate_random_char()+this.generate_random_char()+this.generate_random_char();while(e("#"+t).length>0)t+=this.generate_random_char();return t},i}(AbstractChosen),r.Chosen=t,n=function(e){var t;return t=e.outerWidth()-e.width()},r.get_side_border_padding=n}.call(this);
assets/js/jqueryFileTree/images/application.png CHANGED
Binary file
assets/js/jqueryFileTree/images/code.png CHANGED
Binary file
assets/js/jqueryFileTree/images/css.png CHANGED
Binary file
assets/js/jqueryFileTree/images/db.png CHANGED
Binary file
assets/js/jqueryFileTree/images/directory.png CHANGED
Binary file
assets/js/jqueryFileTree/images/doc.png CHANGED
Binary file
assets/js/jqueryFileTree/images/file.png CHANGED
Binary file
assets/js/jqueryFileTree/images/film.png CHANGED
Binary file
assets/js/jqueryFileTree/images/flash.png CHANGED
Binary file
assets/js/jqueryFileTree/images/folder_open.png CHANGED
Binary file
assets/js/jqueryFileTree/images/html.png CHANGED
Binary file
assets/js/jqueryFileTree/images/java.png CHANGED
Binary file
assets/js/jqueryFileTree/images/linux.png CHANGED
Binary file
assets/js/jqueryFileTree/images/music.png CHANGED
Binary file
assets/js/jqueryFileTree/images/pdf.png CHANGED
Binary file
assets/js/jqueryFileTree/images/php.png CHANGED
Binary file
assets/js/jqueryFileTree/images/ppt.png CHANGED
Binary file
assets/js/jqueryFileTree/images/psd.png CHANGED
Binary file
assets/js/jqueryFileTree/images/ruby.png CHANGED
Binary file
assets/js/jqueryFileTree/images/script.png CHANGED
Binary file
assets/js/jqueryFileTree/images/spinner.gif CHANGED
Binary file
assets/js/jqueryFileTree/images/txt.png CHANGED
Binary file
assets/js/jqueryFileTree/images/xls.png CHANGED
Binary file
assets/js/jqueryFileTree/images/zip.png CHANGED
Binary file
download-monitor.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Download Monitor
4
  Plugin URI: http://mikejolley.com/projects/download-monitor/
5
  Description: A full solution for managing downloadable files, monitoring downloads and outputting download links and file information on your WordPress powered site.
6
- Version: 1.4.2
7
  Author: Mike Jolley
8
  Author URI: http://mikejolley.com
9
  Requires at least: 3.8
@@ -37,7 +37,7 @@ class WP_DLM {
37
  global $wpdb;
38
 
39
  // Define constants
40
- define( 'DLM_VERSION', '1.4.2' );
41
 
42
  // Table for logs
43
  $wpdb->download_log = $wpdb->prefix . 'download_log';
@@ -232,7 +232,7 @@ class WP_DLM {
232
  */
233
  register_taxonomy( 'dlm_download_category',
234
  array( 'dlm_download' ),
235
- array(
236
  'hierarchical' => true,
237
  'update_count_callback' => '_update_post_term_count',
238
  'label' => __( 'Categories', 'download_monitor'),
@@ -258,12 +258,12 @@ class WP_DLM {
258
  ),
259
  'rewrite' => false,
260
  'show_in_nav_menus' => false
261
- )
262
  );
263
 
264
  register_taxonomy( 'dlm_download_tag',
265
  array( 'dlm_download' ),
266
- array(
267
  'hierarchical' => false,
268
  'label' => __( 'Tags', 'download_monitor'),
269
  'labels' => array(
@@ -288,7 +288,7 @@ class WP_DLM {
288
  ),
289
  'rewrite' => false,
290
  'show_in_nav_menus' => false
291
- )
292
  );
293
 
294
  /**
@@ -550,13 +550,13 @@ class WP_DLM {
550
  $file_path = str_replace( WP_CONTENT_URL, WP_CONTENT_DIR, $file_path );
551
  $file_path = realpath( $file_path );
552
 
553
- } elseif( is_multisite() && ( strpos( $file_path, network_admin_url( '/', 'http' ) ) !== false || strpos( $file_path, network_admin_url( '/', 'https' ) ) !== false ) ) {
554
 
555
  /** This is a local file outside of wp-content so figure out the path */
556
  $remote_file = false;
557
  // Try to replace network url
558
- $file_path = str_replace( network_admin_url( '/', 'https' ), ABSPATH, $file_path );
559
- $file_path = str_replace( network_admin_url( '/', 'http' ), ABSPATH, $file_path );
560
  // Try to replace upload URL
561
  $upload_dir = wp_upload_dir();
562
  $file_path = str_replace( $upload_dir['baseurl'], $upload_dir['basedir'], $file_path );
@@ -591,14 +591,17 @@ class WP_DLM {
591
  if ( $file_path ) {
592
  list( $file_path, $remote_file ) = $this->parse_file_path( $file_path );
593
 
594
- if ( $remote_file ) {
595
- $file = wp_remote_head( $file_path );
 
596
 
597
- if ( ! is_wp_error( $file ) && ! empty( $file['headers']['content-length'] ) )
598
- return $file['headers']['content-length'];
599
- } else {
600
- if ( file_exists( $file_path ) && ( $filesize = filesize( $file_path ) ) ) {
601
- return $filesize;
 
 
602
  }
603
  }
604
  }
@@ -607,28 +610,28 @@ class WP_DLM {
607
  }
608
 
609
  /**
610
- * Gets md5, sha1 and crc32 hashes for a file
611
  *
612
  * @access public
613
  * @return array of sizes
614
  */
615
  public function get_file_hashes( $file_path ) {
616
- $md5 = '';
617
- $sha1 = '';
618
- $crc32 = '';
619
 
620
  if ( $file_path ) {
621
  list( $file_path, $remote_file ) = $this->parse_file_path( $file_path );
622
 
623
- if ( $remote_file && ! ini_get( 'allow_url_fopen' ) ) {
624
- // We cannot look up a hash
625
- $md5 = false;
626
- $sha1 = false;
627
- $crc32 = false;
628
- } else {
629
- $md5 = hash_file( 'md5', $file_path );
630
- $sha1 = hash_file( 'sha1', $file_path );
631
- $crc32 = hash_file( 'crc32b', $file_path );
 
 
632
  }
633
  }
634
 
3
  Plugin Name: Download Monitor
4
  Plugin URI: http://mikejolley.com/projects/download-monitor/
5
  Description: A full solution for managing downloadable files, monitoring downloads and outputting download links and file information on your WordPress powered site.
6
+ Version: 1.4.3
7
  Author: Mike Jolley
8
  Author URI: http://mikejolley.com
9
  Requires at least: 3.8
37
  global $wpdb;
38
 
39
  // Define constants
40
+ define( 'DLM_VERSION', '1.4.3' );
41
 
42
  // Table for logs
43
  $wpdb->download_log = $wpdb->prefix . 'download_log';
232
  */
233
  register_taxonomy( 'dlm_download_category',
234
  array( 'dlm_download' ),
235
+ apply_filters( 'dlm_download_category_args', array(
236
  'hierarchical' => true,
237
  'update_count_callback' => '_update_post_term_count',
238
  'label' => __( 'Categories', 'download_monitor'),
258
  ),
259
  'rewrite' => false,
260
  'show_in_nav_menus' => false
261
+ ) )
262
  );
263
 
264
  register_taxonomy( 'dlm_download_tag',
265
  array( 'dlm_download' ),
266
+ apply_filters( 'dlm_download_tag_args', array(
267
  'hierarchical' => false,
268
  'label' => __( 'Tags', 'download_monitor'),
269
  'labels' => array(
288
  ),
289
  'rewrite' => false,
290
  'show_in_nav_menus' => false
291
+ ) )
292
  );
293
 
294
  /**
550
  $file_path = str_replace( WP_CONTENT_URL, WP_CONTENT_DIR, $file_path );
551
  $file_path = realpath( $file_path );
552
 
553
+ } elseif( is_multisite() && ( strpos( $file_path, network_site_url( '/', 'http' ) ) !== false || strpos( $file_path, network_site_url( '/', 'https' ) ) !== false ) ) {
554
 
555
  /** This is a local file outside of wp-content so figure out the path */
556
  $remote_file = false;
557
  // Try to replace network url
558
+ $file_path = str_replace( network_site_url( '/', 'https' ), ABSPATH, $file_path );
559
+ $file_path = str_replace( network_site_url( '/', 'http' ), ABSPATH, $file_path );
560
  // Try to replace upload URL
561
  $upload_dir = wp_upload_dir();
562
  $file_path = str_replace( $upload_dir['baseurl'], $upload_dir['basedir'], $file_path );
591
  if ( $file_path ) {
592
  list( $file_path, $remote_file ) = $this->parse_file_path( $file_path );
593
 
594
+ if ( ! empty( $file_path ) ) {
595
+ if ( $remote_file ) {
596
+ $file = wp_remote_head( $file_path );
597
 
598
+ if ( ! is_wp_error( $file ) && ! empty( $file['headers']['content-length'] ) ) {
599
+ return $file['headers']['content-length'];
600
+ }
601
+ } else {
602
+ if ( file_exists( $file_path ) && ( $filesize = filesize( $file_path ) ) ) {
603
+ return $filesize;
604
+ }
605
  }
606
  }
607
  }
610
  }
611
 
612
  /**
613
+ * Gets md5, sha1 and crc32 hashes for a file and store it.
614
  *
615
  * @access public
616
  * @return array of sizes
617
  */
618
  public function get_file_hashes( $file_path ) {
619
+ $md5 = $sha1 = $crc32 = '';
 
 
620
 
621
  if ( $file_path ) {
622
  list( $file_path, $remote_file ) = $this->parse_file_path( $file_path );
623
 
624
+ if ( ! empty( $file_path ) ) {
625
+ if ( $remote_file && ! apply_filters( 'dlm_allow_remote_hash_file', false ) ) {
626
+ // We cannot look up a hash
627
+ $md5 = false;
628
+ $sha1 = false;
629
+ $crc32 = false;
630
+ } else {
631
+ $md5 = hash_file( 'md5', $file_path );
632
+ $sha1 = hash_file( 'sha1', $file_path );
633
+ $crc32 = hash_file( 'crc32b', $file_path );
634
+ }
635
  }
636
  }
637
 
includes/admin/class-dlm-admin-dashboard.php CHANGED
@@ -34,7 +34,7 @@ class DLM_Admin_Dashboard {
34
  'post_type' => 'dlm_download',
35
  'no_found_rows' => 1,
36
  'posts_per_page' => 10,
37
- 'orderby' => 'meta_value',
38
  'order' => 'desc',
39
  'meta_query' => array(
40
  array(
34
  'post_type' => 'dlm_download',
35
  'no_found_rows' => 1,
36
  'posts_per_page' => 10,
37
+ 'orderby' => 'meta_value_num',
38
  'order' => 'desc',
39
  'meta_query' => array(
40
  array(
includes/admin/class-dlm-admin-insert.php CHANGED
@@ -58,8 +58,6 @@ class DLM_Admin_Insert {
58
  global $download_monitor;
59
 
60
  // Enqueue scripts and styles for panel
61
- wp_enqueue_script( 'chosen', $download_monitor->plugin_url() . '/assets/js/chosen/chosen.jquery.min.js' );
62
- wp_enqueue_style( 'chosen', $download_monitor->plugin_url() . '/assets/js/chosen/chosen.css' );
63
  wp_enqueue_style( 'download_monitor_admin_css', $download_monitor->plugin_url() . '/assets/css/admin.css', array( 'dashicons' ) );
64
  wp_enqueue_script( 'common' );
65
  wp_enqueue_style( 'global' );
@@ -125,7 +123,7 @@ class DLM_Admin_Insert {
125
 
126
  // Meta
127
  update_post_meta( $file_id, '_version', $version );
128
- update_post_meta( $file_id, '_files', array( $url ) );
129
  update_post_meta( $file_id, '_filesize', $download_monitor->get_filesize( $url ) );
130
 
131
  $hashes = $download_monitor->get_file_hashes( $url );
@@ -148,23 +146,47 @@ class DLM_Admin_Insert {
148
  $downloads = get_posts( array(
149
  'post_status' => 'publish',
150
  'post_type' => 'dlm_download',
 
151
  'posts_per_page' => -1
152
  ) );
153
  ?>
154
  <form id="insert-shortcode">
155
 
156
- <p>
157
- <label for="download_id"><?php _e( 'Choose a download', 'download_monitor' ); ?>:</label>
158
- <select id="download_id" class="input">
159
- <?php
160
- foreach ( $downloads as $download ) {
161
- $download = new DLM_Download( $download->ID );
162
-
163
- echo '<option value="' . $download->id . '">#' . $download->id . ' &ndash; ' . $download->get_the_title() . ' &ndash; ' . $download->get_the_filename() .'</option>';
164
- }
165
- ?>
166
- </select>
167
- </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  <p>
169
  <label for="template_name"><?php _e( 'Template', 'download_monitor' ); ?>:</label>
170
  <input type="text" id="template_name" value="" class="input" placeholder="<?php _e( 'Template Name', 'download_monitor' ); ?>" />
@@ -226,15 +248,13 @@ class DLM_Admin_Insert {
226
 
227
  jQuery('#quick-add').hide();
228
 
229
- jQuery('#download_id').chosen();
230
-
231
  jQuery('body').on('click', '.insert_download', function(){
232
 
233
  var win = window.dialogArguments || opener || parent || top;
234
 
235
- var download_id = jQuery('#download_id').val();
236
  var template = jQuery('#template_name').val();
237
- var shortcode = '[download id="' + jQuery('#download_id').val() + '"';
238
 
239
  if ( template )
240
  shortcode = shortcode + ' template="' + template + '"';
58
  global $download_monitor;
59
 
60
  // Enqueue scripts and styles for panel
 
 
61
  wp_enqueue_style( 'download_monitor_admin_css', $download_monitor->plugin_url() . '/assets/css/admin.css', array( 'dashicons' ) );
62
  wp_enqueue_script( 'common' );
63
  wp_enqueue_style( 'global' );
123
 
124
  // Meta
125
  update_post_meta( $file_id, '_version', $version );
126
+ update_post_meta( $file_id, '_files', json_encode( array( $url ) ) );
127
  update_post_meta( $file_id, '_filesize', $download_monitor->get_filesize( $url ) );
128
 
129
  $hashes = $download_monitor->get_file_hashes( $url );
146
  $downloads = get_posts( array(
147
  'post_status' => 'publish',
148
  'post_type' => 'dlm_download',
149
+ 'orderby' => 'ID',
150
  'posts_per_page' => -1
151
  ) );
152
  ?>
153
  <form id="insert-shortcode">
154
 
155
+ <fieldset>
156
+ <legend><?php _e( 'Choose a download', 'download_monitor' ); ?>:</legend>
157
+ <?php
158
+ $limit = 10;
159
+ $page = isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
160
+
161
+ $dlm_query = new WP_Query( array(
162
+ 'post_status' => 'publish',
163
+ 'post_type' => 'dlm_download',
164
+ 'posts_per_page' => $limit,
165
+ 'offset' => ( $page - 1 ) * $limit
166
+ ) );
167
+
168
+ while ( $dlm_query->have_posts() ) {
169
+ $dlm_query->the_post();
170
+ $download = new DLM_Download( $dlm_query->post->ID );
171
+ echo '<label><input name="download_id" class="radio" type="radio" value="' . absint( $download->id ) . '" /> #' . $download->id . ' &ndash; ' . $download->get_the_title() . ' &ndash; ' . $download->get_the_filename() .'</label>';
172
+ }
173
+
174
+ if ( $dlm_query->max_num_pages > 1 ) {
175
+ echo paginate_links( apply_filters( 'download_monitor_pagination_args', array(
176
+ 'base' => str_replace( 999999999, '%#%', get_pagenum_link( 999999999 ) ),
177
+ 'format' => '',
178
+ 'current' => $page,
179
+ 'total' => $dlm_query->max_num_pages,
180
+ 'prev_text' => '&larr;',
181
+ 'next_text' => '&rarr;',
182
+ 'type' => 'list',
183
+ 'end_size' => 3,
184
+ 'mid_size' => 3
185
+ ) ) );
186
+ }
187
+ ?>
188
+ </fieldset>
189
+
190
  <p>
191
  <label for="template_name"><?php _e( 'Template', 'download_monitor' ); ?>:</label>
192
  <input type="text" id="template_name" value="" class="input" placeholder="<?php _e( 'Template Name', 'download_monitor' ); ?>" />
248
 
249
  jQuery('#quick-add').hide();
250
 
 
 
251
  jQuery('body').on('click', '.insert_download', function(){
252
 
253
  var win = window.dialogArguments || opener || parent || top;
254
 
255
+ var download_id = jQuery('input[name="download_id"]:checked').val();
256
  var template = jQuery('#template_name').val();
257
+ var shortcode = '[download id="' + download_id + '"';
258
 
259
  if ( template )
260
  shortcode = shortcode + ' template="' + template + '"';
includes/admin/class-dlm-admin-writepanels.php CHANGED
@@ -103,11 +103,17 @@ class DLM_Admin_Writepanels {
103
  if ( $files ) foreach ( $files as $file ) {
104
 
105
  $i++;
106
- $file_id = $file->ID;
107
- $file_version = ( $file_version = get_post_meta( $file->ID, '_version', true ) ) ? $file_version : '';
108
- $file_post_date = $file->post_date;
109
- $file_download_count = absint( get_post_meta( $file->ID, '_download_count', true ) );
110
- $file_urls = array_filter( (array) get_post_meta( $file->ID, '_files', true ) );
 
 
 
 
 
 
111
 
112
  include( 'html-downloadable-file-version.php' );
113
  }
@@ -456,7 +462,7 @@ class DLM_Admin_Writepanels {
456
 
457
  // Update post meta
458
  update_post_meta( $file_id, '_version', $file_version );
459
- update_post_meta( $file_id, '_files', $files );
460
 
461
  $filesize = -1;
462
  $main_file_path = current( $files );
@@ -481,11 +487,15 @@ class DLM_Admin_Writepanels {
481
  } else {
482
  $total_download_count += absint( get_post_meta( $file_id, '_download_count', true ) );
483
  }
 
 
484
  }
485
  }
486
 
487
  // Sync download_count
488
  update_post_meta( $post_id, '_download_count', $total_download_count );
 
 
489
  }
490
  }
491
 
103
  if ( $files ) foreach ( $files as $file ) {
104
 
105
  $i++;
106
+ $file_id = $file->ID;
107
+ $file_version = ( $file_version = get_post_meta( $file->ID, '_version', true ) ) ? $file_version : '';
108
+ $file_post_date = $file->post_date;
109
+ $file_download_count = absint( get_post_meta( $file->ID, '_download_count', true ) );
110
+ $file_urls = get_post_meta( $file->ID, '_files', true );
111
+
112
+ if ( is_string( $file_urls ) ) {
113
+ $file_urls = array_filter( (array) json_decode( $file_urls ) );
114
+ } else {
115
+ $file_urls = array_filter( $file_urls );
116
+ }
117
 
118
  include( 'html-downloadable-file-version.php' );
119
  }
462
 
463
  // Update post meta
464
  update_post_meta( $file_id, '_version', $file_version );
465
+ update_post_meta( $file_id, '_files', json_encode( $files ) );
466
 
467
  $filesize = -1;
468
  $main_file_path = current( $files );
487
  } else {
488
  $total_download_count += absint( get_post_meta( $file_id, '_download_count', true ) );
489
  }
490
+
491
+ do_action( 'dlm_save_downloadable_file', $file_id, $i );
492
  }
493
  }
494
 
495
  // Sync download_count
496
  update_post_meta( $post_id, '_download_count', $total_download_count );
497
+
498
+ do_action( 'dlm_save_metabox', $post_id, $post );
499
  }
500
  }
501
 
includes/admin/class-dlm-admin.php CHANGED
@@ -146,6 +146,14 @@ class DLM_Admin {
146
  'cb_label' => __( 'Enable', 'download_monitor' ),
147
  'desc' => __( 'If supported, <code>X-Accel-Redirect</code> / <code>X-Sendfile</code> can be used to serve downloads instead of PHP (server requires <code>mod_xsendfile</code>).', 'download_monitor' ),
148
  'type' => 'checkbox'
 
 
 
 
 
 
 
 
149
  )
150
  )
151
  ),
146
  'cb_label' => __( 'Enable', 'download_monitor' ),
147
  'desc' => __( 'If supported, <code>X-Accel-Redirect</code> / <code>X-Sendfile</code> can be used to serve downloads instead of PHP (server requires <code>mod_xsendfile</code>).', 'download_monitor' ),
148
  'type' => 'checkbox'
149
+ ),
150
+ array(
151
+ 'name' => 'dlm_hotlink_protection_enabled',
152
+ 'std' => '',
153
+ 'label' => __( 'Prevent hotlinking', 'download_monitor' ),
154
+ 'cb_label' => __( 'Enable', 'download_monitor' ),
155
+ 'desc' => __( 'If enabled, the download handler will check the PHP referer to see if it originated from your site and if not, redirect them to the homepage.', 'download_monitor' ),
156
+ 'type' => 'checkbox'
157
  )
158
  )
159
  ),
includes/admin/html-downloadable-file-version.php CHANGED
@@ -8,7 +8,10 @@
8
  </h3>
9
  <table cellpadding="0" cellspacing="0" class="dlm-metabox-content">
10
  <tbody>
11
- <tr>
 
 
 
12
  <td width="1%">
13
  <label><?php _e( 'Version', 'download_monitor' ); ?>:</label>
14
  <input type="text" class="short" name="downloadable_file_version[<?php echo $i; ?>]" placeholder="<?php _e( 'n/a', 'download_monitor' ); ?>" value="<?php echo $file_version; ?>" />
@@ -56,6 +59,9 @@
56
  <input type="text" class="date-picker-field" name="downloadable_file_date[<?php echo $i; ?>]" maxlength="10" value="<?php echo date('Y-m-d', strtotime( $file_post_date ) ); ?>" /> @ <input type="text" class="hour" placeholder="<?php _e('h', 'download_monitor') ?>" name="downloadable_file_date_hour[<?php echo $i; ?>]" maxlength="2" size="2" value="<?php echo date('H', strtotime( $file_post_date ) ); ?>" />:<input type="text" class="minute" placeholder="<?php _e('m', 'download_monitor') ?>" name="downloadable_file_date_minute[<?php echo $i; ?>]" maxlength="2" size="2" value="<?php echo date('i', strtotime( $file_post_date ) ); ?>" />
57
  </td>
58
  </tr>
 
 
 
59
  </tbody>
60
  </table>
61
  </div>
8
  </h3>
9
  <table cellpadding="0" cellspacing="0" class="dlm-metabox-content">
10
  <tbody>
11
+
12
+ <?php do_action( 'dlm_downloadable_file_version_table_start' ); ?>
13
+
14
+ <tr>
15
  <td width="1%">
16
  <label><?php _e( 'Version', 'download_monitor' ); ?>:</label>
17
  <input type="text" class="short" name="downloadable_file_version[<?php echo $i; ?>]" placeholder="<?php _e( 'n/a', 'download_monitor' ); ?>" value="<?php echo $file_version; ?>" />
59
  <input type="text" class="date-picker-field" name="downloadable_file_date[<?php echo $i; ?>]" maxlength="10" value="<?php echo date('Y-m-d', strtotime( $file_post_date ) ); ?>" /> @ <input type="text" class="hour" placeholder="<?php _e('h', 'download_monitor') ?>" name="downloadable_file_date_hour[<?php echo $i; ?>]" maxlength="2" size="2" value="<?php echo date('H', strtotime( $file_post_date ) ); ?>" />:<input type="text" class="minute" placeholder="<?php _e('m', 'download_monitor') ?>" name="downloadable_file_date_minute[<?php echo $i; ?>]" maxlength="2" size="2" value="<?php echo date('i', strtotime( $file_post_date ) ); ?>" />
60
  </td>
61
  </tr>
62
+
63
+ <?php do_action( 'dlm_downloadable_file_version_table_end' ); ?>
64
+
65
  </tbody>
66
  </table>
67
  </div>
includes/class-dlm-download-handler.php CHANGED
@@ -72,14 +72,23 @@ class DLM_Download_Handler {
72
  public function handler() {
73
  global $wp, $wpdb;
74
 
75
- if ( ! empty( $_GET[ $this->endpoint ] ) )
76
  $wp->query_vars[ $this->endpoint ] = $_GET[ $this->endpoint ];
 
77
 
78
  if ( ! empty( $wp->query_vars[ $this->endpoint ] ) ) {
79
 
80
  // Prevent caching when endpoint is set
81
  define( 'DONOTCACHEPAGE', true );
82
 
 
 
 
 
 
 
 
 
83
  // Get ID of download
84
  $raw_id = sanitize_title( stripslashes( $wp->query_vars[ $this->endpoint ] ) );
85
 
@@ -114,8 +123,12 @@ class DLM_Download_Handler {
114
  }
115
 
116
  // Action on found download
117
- if ( ! is_null( $download ) && $download->exists() )
 
 
 
118
  $this->trigger( $download, $version_id );
 
119
 
120
  elseif ( $redirect = apply_filters( 'dlm_404_redirect', false ) )
121
  wp_redirect( $redirect );
@@ -145,7 +158,7 @@ class DLM_Download_Handler {
145
  */
146
  private function trigger( $download ) {
147
  global $download_monitor;
148
-
149
  $version = $download->get_file_version();
150
  $file_paths = $version->mirrors;
151
 
72
  public function handler() {
73
  global $wp, $wpdb;
74
 
75
+ if ( ! empty( $_GET[ $this->endpoint ] ) ) {
76
  $wp->query_vars[ $this->endpoint ] = $_GET[ $this->endpoint ];
77
+ }
78
 
79
  if ( ! empty( $wp->query_vars[ $this->endpoint ] ) ) {
80
 
81
  // Prevent caching when endpoint is set
82
  define( 'DONOTCACHEPAGE', true );
83
 
84
+ // Prevent hotlinking
85
+ if ( get_option( 'dlm_hotlink_protection_enabled' ) && ! empty( $_SERVER['HTTP_REFERER'] ) ) {
86
+ if ( ! strstr( $_SERVER['HTTP_REFERER'], site_url() ) ) {
87
+ wp_redirect( apply_filters( 'dlm_hotlink_redirect', home_url() ) );
88
+ exit;
89
+ }
90
+ }
91
+
92
  // Get ID of download
93
  $raw_id = sanitize_title( stripslashes( $wp->query_vars[ $this->endpoint ] ) );
94
 
123
  }
124
 
125
  // Action on found download
126
+ if ( ! is_null( $download ) && $download->exists() ) {
127
+ if ( post_password_required( $download_id ) ) {
128
+ wp_die( get_the_password_form( $download_id ), __( 'Password Required', 'download_monitor' ) );
129
+ }
130
  $this->trigger( $download, $version_id );
131
+ }
132
 
133
  elseif ( $redirect = apply_filters( 'dlm_404_redirect', false ) )
134
  wp_redirect( $redirect );
158
  */
159
  private function trigger( $download ) {
160
  global $download_monitor;
161
+
162
  $version = $download->get_file_version();
163
  $file_paths = $version->mirrors;
164
 
includes/class-dlm-download-version.php CHANGED
@@ -16,26 +16,28 @@ class DLM_Download_Version {
16
  $this->download_id = absint( $download_id );
17
 
18
  // Get Version Data
19
- $this->mirrors = array_filter( (array) get_post_meta( $this->id, '_files', true ) );
20
- $this->url = current( $this->mirrors );
21
- $this->filename = current( explode( '?', basename( $this->url ) ) );
22
- $this->filetype = strtolower( substr( strrchr( $this->filename, "." ), 1 ) );
23
  $this->version = strtolower( get_post_meta( $this->id, '_version', true ) );
24
  $this->download_count = get_post_meta( $this->id, '_download_count', true );
25
  $this->filesize = get_post_meta( $this->id, '_filesize', true );
26
  $this->md5 = get_post_meta( $this->id, '_md5', true );
27
  $this->sha1 = get_post_meta( $this->id, '_sha1', true );
28
  $this->crc32 = get_post_meta( $this->id, '_crc32', true );
 
29
 
30
- // If any data is not set, set it
31
- if ( $this->filesize == "" )
32
- $this->filesize = $this->get_filesize( $this->url );
 
 
 
33
 
34
- if ( $this->md5 == "" || $this->sha1 == "" || $this->crc32 == "" ) {
35
- $hashes = $this->get_file_hashes( $this->url );
36
- $this->md5 = $hashes['md5'];
37
- $this->sha1 = $hashes['sha1'];
38
- $this->crc32 = $hashes['crc32'];
 
 
39
  }
40
  }
41
 
16
  $this->download_id = absint( $download_id );
17
 
18
  // Get Version Data
 
 
 
 
19
  $this->version = strtolower( get_post_meta( $this->id, '_version', true ) );
20
  $this->download_count = get_post_meta( $this->id, '_download_count', true );
21
  $this->filesize = get_post_meta( $this->id, '_filesize', true );
22
  $this->md5 = get_post_meta( $this->id, '_md5', true );
23
  $this->sha1 = get_post_meta( $this->id, '_sha1', true );
24
  $this->crc32 = get_post_meta( $this->id, '_crc32', true );
25
+ $this->mirrors = get_post_meta( $this->id, '_files', true );
26
 
27
+ // Get URLS
28
+ if ( is_string( $this->mirrors ) ) {
29
+ $this->mirrors = array_filter( (array) json_decode( $this->mirrors ) );
30
+ } else {
31
+ $this->mirrors = array_filter( $this->mirrors );
32
+ }
33
 
34
+ $this->url = current( $this->mirrors );
35
+ $this->filename = current( explode( '?', basename( $this->url ) ) );
36
+ $this->filetype = strtolower( substr( strrchr( $this->filename, "." ), 1 ) );
37
+
38
+ // If we don't have a filesize, lets get it now
39
+ if ( $this->filesize === "" ) {
40
+ $this->filesize = $this->get_filesize( $this->url );
41
  }
42
  }
43
 
includes/class-dlm-download.php CHANGED
@@ -118,7 +118,7 @@ class DLM_Download {
118
  * @return void
119
  */
120
  public function get_the_short_description() {
121
- return wpautop( $this->post->post_excerpt );
122
  }
123
 
124
  /**
118
  * @return void
119
  */
120
  public function get_the_short_description() {
121
+ return wpautop( do_shortcode( $this->post->post_excerpt ) );
122
  }
123
 
124
  /**
includes/widgets/class-dlm-widget-downloads.php CHANGED
@@ -69,7 +69,7 @@ class DLM_Widget_Downloads extends WP_Widget {
69
  );
70
 
71
  if ( $orderby == 'download_count' ) {
72
- $args['orderby'] = 'meta_value';
73
  $args['meta_key'] = '_download_count';
74
  }
75
 
69
  );
70
 
71
  if ( $orderby == 'download_count' ) {
72
+ $args['orderby'] = 'meta_value_num';
73
  $args['meta_key'] = '_download_count';
74
  }
75
 
languages/download_monitor-pt_BR.po ADDED
@@ -0,0 +1,1105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2013-2014 Download Monitor
2
+ # This file is distributed under the same license as the Download Monitor package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: Download Monitor v1.4.2\n"
6
+ "Report-Msgid-Bugs-To: \n"
7
+ "POT-Creation-Date: 2014-02-09 12:08-0300\n"
8
+ "PO-Revision-Date: 2014-02-09 13:36-0300\n"
9
+ "Last-Translator: Anderson Silva <contato.winamp.br@gmail.com>\n"
10
+ "Language-Team: Anderson Silva <contato.winamp.br@gmail.com>\n"
11
+ "Language: pt_BR\n"
12
+ "MIME-Version: 1.0\n"
13
+ "Content-Type: text/plain; charset=UTF-8\n"
14
+ "Content-Transfer-Encoding: 8bit\n"
15
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
16
+ "X-Generator: Poedit 1.6.4\n"
17
+ "X-Poedit-SourceCharset: UTF-8\n"
18
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
19
+ "_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;"
20
+ "esc_attr_e\n"
21
+ "X-Poedit-Basepath: ../\n"
22
+ "X-Textdomain-Support: yes\n"
23
+ "X-Poedit-SearchPath-0: .\n"
24
+
25
+ #: download-monitor.php:89 includes/admin/class-dlm-admin.php:249
26
+ msgid "Settings"
27
+ msgstr "Opções"
28
+
29
+ #: download-monitor.php:90 includes/admin/class-dlm-admin.php:252
30
+ msgid "Add-ons"
31
+ msgstr "Complementos"
32
+
33
+ #: download-monitor.php:91
34
+ msgid "Docs"
35
+ msgstr "Docs"
36
+
37
+ #: download-monitor.php:238 download-monitor.php:240
38
+ #: includes/admin/class-dlm-admin-cpt.php:172
39
+ msgid "Categories"
40
+ msgstr "Categorias"
41
+
42
+ # @ download_monitor
43
+ #: download-monitor.php:241
44
+ msgid "Download Category"
45
+ msgstr "Categoria de Download"
46
+
47
+ # @ download_monitor
48
+ #: download-monitor.php:242
49
+ msgid "Search Download Categories"
50
+ msgstr "Procurar Categoria de Download"
51
+
52
+ # @ download_monitor
53
+ #: download-monitor.php:243
54
+ msgid "All Download Categories"
55
+ msgstr "Todas Categorias de Download"
56
+
57
+ # @ download_monitor
58
+ #: download-monitor.php:244
59
+ msgid "Parent Download Category"
60
+ msgstr "Pai da Categoria de Download"
61
+
62
+ # @ download_monitor
63
+ #: download-monitor.php:245
64
+ msgid "Parent Download Category:"
65
+ msgstr "Pai da Categoria de Download:"
66
+
67
+ # @ download_monitor
68
+ #: download-monitor.php:246
69
+ msgid "Edit Download Category"
70
+ msgstr "Editar Categoria de Download"
71
+
72
+ # @ download_monitor
73
+ #: download-monitor.php:247
74
+ msgid "Update Download Category"
75
+ msgstr "Atualizar Categoria de Download"
76
+
77
+ # @ download_monitor
78
+ #: download-monitor.php:248
79
+ msgid "Add New Download Category"
80
+ msgstr "Add Nova Categoria de Download"
81
+
82
+ # @ download_monitor
83
+ #: download-monitor.php:249
84
+ msgid "New Download Category Name"
85
+ msgstr "Nome da Nova Categoria de Download"
86
+
87
+ # @ download_monitor
88
+ #: download-monitor.php:268 download-monitor.php:270
89
+ #: includes/admin/class-dlm-admin-cpt.php:173
90
+ msgid "Tags"
91
+ msgstr "Tags"
92
+
93
+ # @ download_monitor
94
+ #: download-monitor.php:271
95
+ msgid "Download Tag"
96
+ msgstr "Tag de Download"
97
+
98
+ # @ download_monitor
99
+ #: download-monitor.php:272
100
+ msgid "Search Download Tags"
101
+ msgstr "Procurar Tag de Download"
102
+
103
+ # @ download_monitor
104
+ #: download-monitor.php:273
105
+ msgid "All Download Tags"
106
+ msgstr "Todas as Tags de Download"
107
+
108
+ # @ download_monitor
109
+ #: download-monitor.php:274
110
+ msgid "Parent Download Tag"
111
+ msgstr "Pai da Tag de Download"
112
+
113
+ # @ download_monitor
114
+ #: download-monitor.php:275
115
+ msgid "Parent Download Tag:"
116
+ msgstr "Pai da Tag de Download:"
117
+
118
+ # @ download_monitor
119
+ #: download-monitor.php:276
120
+ msgid "Edit Download Tag"
121
+ msgstr "Editar Tag de Download"
122
+
123
+ # @ download_monitor
124
+ #: download-monitor.php:277
125
+ msgid "Update Download Tag"
126
+ msgstr "Atualizar Tag de Download"
127
+
128
+ # @ download_monitor
129
+ #: download-monitor.php:278
130
+ msgid "Add New Download Tag"
131
+ msgstr "Add Nova Tag de Download"
132
+
133
+ # @ download_monitor
134
+ #: download-monitor.php:279
135
+ msgid "New Download Tag Name"
136
+ msgstr "Nome da Nova Tag de Download"
137
+
138
+ # @ download_monitor
139
+ # @ default
140
+ #: download-monitor.php:300
141
+ msgid "All Downloads"
142
+ msgstr "Todos os Downloads"
143
+
144
+ # @ download_monitor
145
+ # @ default
146
+ #: download-monitor.php:301
147
+ msgid "Downloads"
148
+ msgstr "Downloads"
149
+
150
+ # @ download_monitor
151
+ #: download-monitor.php:302 includes/admin/class-dlm-admin-dashboard.php:69
152
+ #: includes/admin/class-dlm-logging-list-table.php:123
153
+ msgid "Download"
154
+ msgstr "Download"
155
+
156
+ # @ download_monitor
157
+ #: download-monitor.php:303
158
+ msgid "Add New"
159
+ msgstr "Adicionar Novo"
160
+
161
+ # @ download_monitor
162
+ #: download-monitor.php:304
163
+ msgid "Add Download"
164
+ msgstr "Adicionar Download"
165
+
166
+ # @ download_monitor
167
+ #: download-monitor.php:305
168
+ msgid "Edit"
169
+ msgstr "Editar"
170
+
171
+ # @ download_monitor
172
+ #: download-monitor.php:306
173
+ msgid "Edit Download"
174
+ msgstr "Editar Download"
175
+
176
+ # @ download_monitor
177
+ #: download-monitor.php:307
178
+ msgid "New Download"
179
+ msgstr "Novo Download"
180
+
181
+ # @ download_monitor
182
+ #: download-monitor.php:308 download-monitor.php:309
183
+ msgid "View Download"
184
+ msgstr "Visualizar Download"
185
+
186
+ # @ download_monitor
187
+ #: download-monitor.php:310
188
+ msgid "Search Downloads"
189
+ msgstr "Procurar Downloads"
190
+
191
+ # @ download_monitor
192
+ #: download-monitor.php:311
193
+ msgid "No Downloads found"
194
+ msgstr "Nenhum Download encontrado"
195
+
196
+ # @ download_monitor
197
+ #: download-monitor.php:312
198
+ msgid "No Downloads found in trash"
199
+ msgstr "Nenhum Download encontrado na lixeira"
200
+
201
+ # @ download_monitor
202
+ #: download-monitor.php:313
203
+ msgid "Parent Download"
204
+ msgstr "Pai Download"
205
+
206
+ #: download-monitor.php:315
207
+ msgid "This is where you can create and manage downloads for your site."
208
+ msgstr "Aqui é onde você pode criar e gerenciar downloads para o seu site."
209
+
210
+ # @ download_monitor
211
+ #: includes/class-dlm-download-handler.php:124
212
+ msgid "Download does not exist."
213
+ msgstr "Download não existe."
214
+
215
+ #: includes/class-dlm-download-handler.php:124
216
+ #: includes/class-dlm-download-handler.php:153
217
+ #: includes/class-dlm-download-handler.php:158
218
+ #: includes/class-dlm-download-handler.php:167
219
+ #: includes/class-dlm-download-handler.php:261
220
+ msgid "Go to homepage &rarr;"
221
+ msgstr "Ir para página inicial &rarr;"
222
+
223
+ # @ download_monitor
224
+ #: includes/class-dlm-download-handler.php:124
225
+ #: includes/class-dlm-download-handler.php:153
226
+ #: includes/class-dlm-download-handler.php:158
227
+ #: includes/class-dlm-download-handler.php:167
228
+ #: includes/class-dlm-download-handler.php:261
229
+ msgid "Download Error"
230
+ msgstr "Erro no Download"
231
+
232
+ # @ download_monitor
233
+ #: includes/class-dlm-download-handler.php:153
234
+ #: includes/class-dlm-download-handler.php:158
235
+ msgid "No file paths defined."
236
+ msgstr "Nenhum caminho do arquivo foi definido."
237
+
238
+ # @ default
239
+ #: includes/class-dlm-download-handler.php:167
240
+ msgid "You do not have permission to access this download."
241
+ msgstr "Você não tem permissão para fazer este download."
242
+
243
+ #: includes/class-dlm-download-handler.php:185
244
+ #: includes/class-dlm-download-handler.php:201
245
+ #: includes/class-dlm-download-handler.php:208
246
+ #: includes/class-dlm-download-handler.php:215
247
+ msgid "Redirected to file"
248
+ msgstr "Redirecionado para arquivo"
249
+
250
+ # @ download_monitor
251
+ #: includes/class-dlm-download-handler.php:254
252
+ msgid "Redirected to remote file."
253
+ msgstr "Redirecionado para arquivo remoto."
254
+
255
+ # @ download_monitor
256
+ #: includes/class-dlm-download-handler.php:259
257
+ msgid "File not found"
258
+ msgstr "Arquivo não encontrado"
259
+
260
+ # @ download_monitor
261
+ #: includes/class-dlm-download-handler.php:261
262
+ msgid "File not found."
263
+ msgstr "Arquivo não encontrado."
264
+
265
+ # @ download_monitor
266
+ #: includes/class-dlm-shortcodes.php:93 includes/class-dlm-shortcodes.php:125
267
+ msgid "Download not found"
268
+ msgstr "Download não encontrado."
269
+
270
+ # @ download_monitor
271
+ #: includes/admin/class-dlm-addons.php:50
272
+ #: includes/admin/class-dlm-admin.php:252
273
+ msgid "Download Monitor Add-ons"
274
+ msgstr "Complementos do Download Monitor"
275
+
276
+ # @ download_monitor
277
+ #: includes/admin/class-dlm-admin-cpt.php:64
278
+ msgid "Select a category"
279
+ msgstr "Selecionar categoria"
280
+
281
+ # @ default
282
+ # @ download_monitor
283
+ #: includes/admin/class-dlm-admin-cpt.php:124
284
+ msgid "Download title"
285
+ msgstr "Título do download"
286
+
287
+ # @ download_monitor
288
+ #: includes/admin/class-dlm-admin-cpt.php:140
289
+ #: includes/admin/class-dlm-admin-cpt.php:143
290
+ msgid "Download updated."
291
+ msgstr "Download atualizado."
292
+
293
+ # @ download_monitor
294
+ #: includes/admin/class-dlm-admin-cpt.php:141
295
+ msgid "Custom field updated."
296
+ msgstr "Campo personalizado atualizado."
297
+
298
+ # @ download_monitor
299
+ #: includes/admin/class-dlm-admin-cpt.php:142
300
+ msgid "Custom field deleted."
301
+ msgstr "Campo personalizado apagado."
302
+
303
+ #: includes/admin/class-dlm-admin-cpt.php:144
304
+ #, php-format
305
+ msgid "Download restored to revision from %s"
306
+ msgstr "Download restaurado da revisão de %s"
307
+
308
+ # @ download_monitor
309
+ #: includes/admin/class-dlm-admin-cpt.php:145
310
+ msgid "Download published."
311
+ msgstr "Download postado."
312
+
313
+ # @ download_monitor
314
+ #: includes/admin/class-dlm-admin-cpt.php:146
315
+ msgid "Download saved."
316
+ msgstr "Download salvo."
317
+
318
+ # @ download_monitor
319
+ #: includes/admin/class-dlm-admin-cpt.php:147
320
+ msgid "Download submitted."
321
+ msgstr "Download enviado."
322
+
323
+ #: includes/admin/class-dlm-admin-cpt.php:148
324
+ #, php-format
325
+ msgid "Download scheduled for: <strong>%1$s</strong>."
326
+ msgstr "Download agendado para: <strong>%1$s</strong>."
327
+
328
+ # @ download_monitor
329
+ #: includes/admin/class-dlm-admin-cpt.php:149
330
+ msgid "M j, Y @ G:i"
331
+ msgstr "d M Y @ H:i"
332
+
333
+ # @ download_monitor
334
+ #: includes/admin/class-dlm-admin-cpt.php:150
335
+ msgid "Download draft updated."
336
+ msgstr "Rascunho do download atualizado."
337
+
338
+ # @ download_monitor
339
+ #: includes/admin/class-dlm-admin-cpt.php:167
340
+ msgid "Image"
341
+ msgstr "Imagem"
342
+
343
+ # @ download_monitor
344
+ #: includes/admin/class-dlm-admin-cpt.php:168
345
+ #: includes/widgets/class-dlm-widget-downloads.php:171
346
+ msgid "Title"
347
+ msgstr "Título"
348
+
349
+ # @ download_monitor
350
+ #: includes/admin/class-dlm-admin-cpt.php:169
351
+ #: includes/widgets/class-dlm-widget-downloads.php:173
352
+ msgid "ID"
353
+ msgstr "ID"
354
+
355
+ # @ download_monitor
356
+ #: includes/admin/class-dlm-admin-cpt.php:170
357
+ #: includes/admin/class-dlm-logging-list-table.php:124
358
+ msgid "File"
359
+ msgstr "Arquivo"
360
+
361
+ # @ download_monitor
362
+ #: includes/admin/class-dlm-admin-cpt.php:171
363
+ #: includes/admin/class-dlm-admin-insert.php:205
364
+ #: includes/admin/html-downloadable-file-version.php:13
365
+ msgid "Version"
366
+ msgstr "Versão"
367
+
368
+ # @ download_monitor
369
+ #: includes/admin/class-dlm-admin-cpt.php:174
370
+ #: includes/admin/class-dlm-admin-dashboard.php:70
371
+ #: includes/admin/html-downloadable-file-version.php:49
372
+ #: includes/widgets/class-dlm-widget-downloads.php:176
373
+ msgid "Download count"
374
+ msgstr "Contador do Download"
375
+
376
+ #: includes/admin/class-dlm-admin-cpt.php:175
377
+ msgid "Featured"
378
+ msgstr "Destaque"
379
+
380
+ # @ download_monitor
381
+ #: includes/admin/class-dlm-admin-cpt.php:176
382
+ #: includes/admin/class-dlm-admin-writepanels.php:63
383
+ msgid "Members only"
384
+ msgstr "Somente membros"
385
+
386
+ # @ download_monitor
387
+ #: includes/admin/class-dlm-admin-cpt.php:177
388
+ msgid "Redirect only"
389
+ msgstr "Somente redirecionar"
390
+
391
+ # @ download_monitor
392
+ #: includes/admin/class-dlm-admin-cpt.php:178
393
+ msgid "Date posted"
394
+ msgstr "Upado em"
395
+
396
+ # @ download_monitor
397
+ #: includes/admin/class-dlm-admin-cpt.php:212
398
+ #: includes/admin/class-dlm-admin-cpt.php:220
399
+ #: includes/admin/class-dlm-admin-cpt.php:228
400
+ msgid "Yes"
401
+ msgstr "Sim"
402
+
403
+ # @ download_monitor
404
+ #: includes/admin/class-dlm-admin-dashboard.php:21
405
+ msgid "Popular Downloads"
406
+ msgstr "Downloads Popular"
407
+
408
+ #: includes/admin/class-dlm-admin-dashboard.php:53
409
+ msgid "There are no stats available yet!"
410
+ msgstr "Ainda não há estatísticas disponíveis!"
411
+
412
+ # @ download_monitor
413
+ #: includes/admin/class-dlm-admin-insert.php:32
414
+ #: includes/admin/class-dlm-admin-insert.php:40
415
+ #: includes/admin/class-dlm-admin-insert.php:70
416
+ msgid "Insert Download"
417
+ msgstr "Inserir Download"
418
+
419
+ #: includes/admin/class-dlm-admin-insert.php:80
420
+ #: includes/admin/class-dlm-admin-insert.php:176
421
+ msgid "Insert Shortcode"
422
+ msgstr "Inserir Shortcode"
423
+
424
+ # @ download_monitor
425
+ #: includes/admin/class-dlm-admin-insert.php:80
426
+ msgid "Quick-add download"
427
+ msgstr "Add Download rápido"
428
+
429
+ #: includes/admin/class-dlm-admin-insert.php:124
430
+ msgid "Error: File was not created."
431
+ msgstr "Erro: O arquivo não foi criado."
432
+
433
+ # @ download_monitor
434
+ #: includes/admin/class-dlm-admin-insert.php:137
435
+ msgid "Download successfully created."
436
+ msgstr "Download criado com sucesso"
437
+
438
+ # @ download_monitor
439
+ #: includes/admin/class-dlm-admin-insert.php:139
440
+ msgid "Error: Download was not created."
441
+ msgstr "Erro: O download não foi criado."
442
+
443
+ # @ download_monitor
444
+ #: includes/admin/class-dlm-admin-insert.php:157
445
+ msgid "Choose a download"
446
+ msgstr "Escolha o download"
447
+
448
+ # @ download_monitor
449
+ #: includes/admin/class-dlm-admin-insert.php:169
450
+ msgid "Template"
451
+ msgstr "Modelo"
452
+
453
+ #: includes/admin/class-dlm-admin-insert.php:170
454
+ msgid "Template Name"
455
+ msgstr "Nome do Modelo"
456
+
457
+ #: includes/admin/class-dlm-admin-insert.php:172
458
+ msgid ""
459
+ "Leaving this blank will use the default <code>content-download.php</code> "
460
+ "template file. If you enter, for example, <code>image</code>, the "
461
+ "<code>content-download-image.php</code> template will be used instead."
462
+ msgstr ""
463
+ "Deixando em branco será usado o arquivo de modelo padrão: <code>content-"
464
+ "download.php</code>. Se você digitar, por exemplo, <code>image</code>, será "
465
+ "usado o modelo: <code>content-download-image.php</code>."
466
+
467
+ # @ download_monitor
468
+ #: includes/admin/class-dlm-admin-insert.php:187
469
+ msgid "Drop file here"
470
+ msgstr "Solte o arquivo aqui"
471
+
472
+ # @ download_monitor
473
+ #: includes/admin/class-dlm-admin-insert.php:188
474
+ #: includes/admin/class-dlm-admin-insert.php:190
475
+ msgid "or"
476
+ msgstr "ou"
477
+
478
+ #: includes/admin/class-dlm-admin-insert.php:189
479
+ msgid "Select File"
480
+ msgstr "Selecione o arquivo"
481
+
482
+ #: includes/admin/class-dlm-admin-insert.php:191
483
+ msgid "Enter URL manually"
484
+ msgstr "Insira a URL manualmente"
485
+
486
+ # @ download_monitor
487
+ #: includes/admin/class-dlm-admin-insert.php:197
488
+ msgid "Download URL"
489
+ msgstr "URL do Download"
490
+
491
+ # @ download_monitor
492
+ #: includes/admin/class-dlm-admin-insert.php:198
493
+ msgid "Required URL"
494
+ msgstr "URL Obrigatória"
495
+
496
+ # @ download_monitor
497
+ #: includes/admin/class-dlm-admin-insert.php:201
498
+ msgid "Download Title"
499
+ msgstr "Título do Download"
500
+
501
+ #: includes/admin/class-dlm-admin-insert.php:202
502
+ msgid "Required title"
503
+ msgstr "Título Obrigatório"
504
+
505
+ #: includes/admin/class-dlm-admin-insert.php:206
506
+ msgid "Optional version number"
507
+ msgstr "Número da versão Opcional"
508
+
509
+ # @ download_monitor
510
+ #: includes/admin/class-dlm-admin-insert.php:209
511
+ msgid "Save Download"
512
+ msgstr "Salvar Download"
513
+
514
+ # @ download_monitor
515
+ #: includes/admin/class-dlm-admin-insert.php:267
516
+ msgid "Allowed Files"
517
+ msgstr "Arquivos Permitidos"
518
+
519
+ #: includes/admin/class-dlm-admin-insert.php:317
520
+ msgid "Please wait..."
521
+ msgstr "Por favor, aguarde..."
522
+
523
+ #: includes/admin/class-dlm-admin-media-browser.php:31
524
+ #: includes/admin/class-dlm-admin-writepanels.php:255
525
+ msgid "Browse for a file"
526
+ msgstr "Procurar por um arquivo"
527
+
528
+ # @ download_monitor
529
+ #: includes/admin/class-dlm-admin-media-browser.php:101
530
+ msgid "No files found"
531
+ msgstr "Nenhum arquivo encontrado"
532
+
533
+ # @ download_monitor
534
+ #: includes/admin/class-dlm-admin-writepanels.php:29
535
+ msgid "Download Options"
536
+ msgstr "Opções do Download"
537
+
538
+ # @ download_monitor
539
+ #: includes/admin/class-dlm-admin-writepanels.php:30
540
+ msgid "Downloadable Files/Versions"
541
+ msgstr "Versões Disponível do Arquivo"
542
+
543
+ # @ download_monitor
544
+ #: includes/admin/class-dlm-admin-writepanels.php:35
545
+ msgid "Short Description"
546
+ msgstr "Descrição Curta"
547
+
548
+ # @ download_monitor
549
+ #: includes/admin/class-dlm-admin-writepanels.php:57
550
+ msgid "Featured download"
551
+ msgstr "Download em Destaque"
552
+
553
+ #: includes/admin/class-dlm-admin-writepanels.php:58
554
+ msgid "Mark this download as featured. Used by shortcodes and widgets."
555
+ msgstr "Marca este download como em destaque. Usado por shortcodes e widgets."
556
+
557
+ #: includes/admin/class-dlm-admin-writepanels.php:64
558
+ msgid ""
559
+ "Only logged in users will be able to access the file via a download link if "
560
+ "this is enabled."
561
+ msgstr ""
562
+ "Se ativado, apenas os usuários logados serão capazes de acessar o arquivo "
563
+ "via link de download."
564
+
565
+ # @ download_monitor
566
+ #: includes/admin/class-dlm-admin-writepanels.php:69
567
+ msgid "Redirect to file"
568
+ msgstr "Redirecionar para arquivo"
569
+
570
+ #: includes/admin/class-dlm-admin-writepanels.php:70
571
+ msgid ""
572
+ "Don't force download. If the <code>dlm_upload</code> folder is protected you "
573
+ "may need to move your file."
574
+ msgstr ""
575
+ "Não forçar download. Se a pasta <code>dlm_upload</code> estiver protegida "
576
+ "pode ser necessário mover seu arquivo."
577
+
578
+ # @ download_monitor
579
+ #: includes/admin/class-dlm-admin-writepanels.php:94
580
+ msgid "Add file"
581
+ msgstr "Add arquivo"
582
+
583
+ #: includes/admin/class-dlm-admin-writepanels.php:95
584
+ msgid "Close all"
585
+ msgstr "Fechar tudo"
586
+
587
+ #: includes/admin/class-dlm-admin-writepanels.php:95
588
+ msgid "Expand all"
589
+ msgstr "Expandir tudo"
590
+
591
+ # @ download_monitor
592
+ #: includes/admin/class-dlm-admin-writepanels.php:220
593
+ msgid "Are you sure you want to delete this file?"
594
+ msgstr "Você tem certeza de que deseja apagar este arquivo?"
595
+
596
+ # @ download_monitor
597
+ #: includes/admin/class-dlm-admin.php:95
598
+ msgid "General"
599
+ msgstr "Geral"
600
+
601
+ # @ download_monitor
602
+ #: includes/admin/class-dlm-admin.php:100
603
+ msgid "Default Template"
604
+ msgstr "Modelo Padrão"
605
+
606
+ #: includes/admin/class-dlm-admin.php:101
607
+ msgid ""
608
+ "Choose which template is used for <code>[download]</code> shortcodes by "
609
+ "default (this can be overridden by the <code>format</code> argument)."
610
+ msgstr ""
611
+ "Escolha qual modelo será usado com o shortcodes <code>[download]</code> por "
612
+ "padrão, (podendo ser substituído pelo argumento <code>format</code>)."
613
+
614
+ #: includes/admin/class-dlm-admin.php:104
615
+ msgid "Default - Title and count"
616
+ msgstr "Padrão - Título e contador"
617
+
618
+ #: includes/admin/class-dlm-admin.php:105
619
+ msgid "Button - CSS styled button showing title and count"
620
+ msgstr "Botão - Botão estilizado em CSS mostrando título e contador"
621
+
622
+ #: includes/admin/class-dlm-admin.php:106
623
+ msgid "Box - Box showing thumbnail, title, count, filename and filesize."
624
+ msgstr ""
625
+ "Caixa - Caixa mostrando miniatura, título, contador, nome e tamanho do "
626
+ "arquivo."
627
+
628
+ #: includes/admin/class-dlm-admin.php:107
629
+ msgid "Filename - Filename and download count"
630
+ msgstr "Nome do arquivo - Nome do arquivo e contador de download"
631
+
632
+ # @ download_monitor
633
+ #: includes/admin/class-dlm-admin.php:108
634
+ msgid "Title - Shows download title only"
635
+ msgstr "Título - Exibe apenas o título do download"
636
+
637
+ #: includes/admin/class-dlm-admin.php:109
638
+ msgid "Version list - Lists all download versions in an unordered list"
639
+ msgstr ""
640
+ "Lista de versões - Lista todas as versões do download numa lista desordenada"
641
+
642
+ # @ download_monitor
643
+ #: includes/admin/class-dlm-admin.php:110
644
+ msgid "Custom template"
645
+ msgstr "Modelo personalizado"
646
+
647
+ # @ download_monitor
648
+ #: includes/admin/class-dlm-admin.php:116
649
+ msgid "Custom Template"
650
+ msgstr "Modelo Personalizado"
651
+
652
+ #: includes/admin/class-dlm-admin.php:117
653
+ msgid ""
654
+ "Leaving this blank will use the default <code>content-download.php</code> "
655
+ "template file. If you enter, for example, <code>image</code>, the "
656
+ "<code>content-download-image.php</code> template will be used instead. You "
657
+ "can add custom templates inside your theme folder."
658
+ msgstr ""
659
+ "Deixando em branco será usado o arquivo modelo padrão <code>content-download."
660
+ "php</code>. Se você, por exemplo, inserir <code>image</code>, o modelo "
661
+ "<code>content-download-image.php</code> será usado. Você pode adicionar "
662
+ "modelos personalizados dentro da pasta do seu tema."
663
+
664
+ #: includes/admin/class-dlm-admin.php:122
665
+ msgid "Endpoint"
666
+ msgstr "Ponto final"
667
+
668
+ # @ download_monitor
669
+ #: includes/admin/class-dlm-admin.php:127
670
+ msgid "download"
671
+ msgstr "download"
672
+
673
+ # @ download_monitor
674
+ #: includes/admin/class-dlm-admin.php:128
675
+ msgid "Download Endpoint"
676
+ msgstr "Ponto final do Download"
677
+
678
+ #: includes/admin/class-dlm-admin.php:129
679
+ #, php-format
680
+ msgid ""
681
+ "Define what endpoint should be used for download links. By default this will "
682
+ "be <code>%s</code>."
683
+ msgstr ""
684
+ "Define qual termo será usado como ponto final (extremidade) no link de "
685
+ "download. Por padrão temos o termo <code>download</code> como ponto final "
686
+ "(extremidade) e o resultado será: <code>%s</code>."
687
+
688
+ #: includes/admin/class-dlm-admin.php:134
689
+ msgid "Endpoint Value"
690
+ msgstr "Valor do Ponto final"
691
+
692
+ #: includes/admin/class-dlm-admin.php:135
693
+ #, php-format
694
+ msgid ""
695
+ "Define what unique value should be used on the end of your endpoint to "
696
+ "identify the downloadable file. e.g. ID would give a link like <code>%s</"
697
+ "code>"
698
+ msgstr ""
699
+ "Define qual valor único será usado após o ponto final (extremidade) para "
700
+ "identificar o arquivo no link de download. Ex.: Usando o <code>ID do "
701
+ "Download</code> teremos o link assim: <code>%s</code>"
702
+
703
+ # @ download_monitor
704
+ #: includes/admin/class-dlm-admin.php:138
705
+ #: includes/admin/class-dlm-admin.php:452
706
+ msgid "Download ID"
707
+ msgstr "ID do Download"
708
+
709
+ # @ download_monitor
710
+ # @ default
711
+ #: includes/admin/class-dlm-admin.php:139
712
+ msgid "Download slug"
713
+ msgstr "Slug do download"
714
+
715
+ #: includes/admin/class-dlm-admin.php:145
716
+ msgid "X-Accel-Redirect / X-Sendfile"
717
+ msgstr "X-Accel-Redirect / X-Sendfile"
718
+
719
+ #: includes/admin/class-dlm-admin.php:146
720
+ #: includes/admin/class-dlm-admin.php:157
721
+ msgid "Enable"
722
+ msgstr "Ativar"
723
+
724
+ #: includes/admin/class-dlm-admin.php:147
725
+ msgid ""
726
+ "If supported, <code>X-Accel-Redirect</code> / <code>X-Sendfile</code> can be "
727
+ "used to serve downloads instead of PHP (server requires <code>mod_xsendfile</"
728
+ "code>)."
729
+ msgstr ""
730
+ "Se suportado, <code>X-Accel-Redirect</code> / <code>X-Sendfile</code> pode "
731
+ "ser usado para fornecer downloads ao invés do PHP (requer no servidor "
732
+ "<code>mod_xsendfile</code>)."
733
+
734
+ #: includes/admin/class-dlm-admin.php:153
735
+ msgid "Logging"
736
+ msgstr "Log"
737
+
738
+ # @ download_monitor
739
+ #: includes/admin/class-dlm-admin.php:159
740
+ msgid "Download Log"
741
+ msgstr "Log dos Downloads"
742
+
743
+ #: includes/admin/class-dlm-admin.php:160
744
+ msgid "Log download attempts, IP addresses and more."
745
+ msgstr ""
746
+ "Log com as tentativas de download, endereços de IP, agentes de usuário, data "
747
+ "e muito mais."
748
+
749
+ #: includes/admin/class-dlm-admin.php:166
750
+ msgid "Blacklist IPs"
751
+ msgstr "Lista Negra de IPs"
752
+
753
+ #: includes/admin/class-dlm-admin.php:167
754
+ msgid ""
755
+ "List IP Addresses to blacklist, 1 per line. Use <code>*</code> for a "
756
+ "wildcard."
757
+ msgstr ""
758
+ "Lista de endereços de IP na lista negra, 1 por linha. Use <code>*</code> "
759
+ "como wildcard."
760
+
761
+ #: includes/admin/class-dlm-admin.php:174
762
+ msgid "Blacklist user agents"
763
+ msgstr "Lista Negra dos agentes de usuário"
764
+
765
+ #: includes/admin/class-dlm-admin.php:175
766
+ msgid "List browser user agents to blacklist, 1 per line."
767
+ msgstr "Lista dos agentes de usuário de navegador na lista negra, 1 por linha."
768
+
769
+ #: includes/admin/class-dlm-admin.php:247
770
+ msgid "Logs"
771
+ msgstr "Logs"
772
+
773
+ #: includes/admin/class-dlm-admin.php:291
774
+ msgid "Settings successfully saved"
775
+ msgstr "Opções salvas com sucesso"
776
+
777
+ # @ download_monitor
778
+ #: includes/admin/class-dlm-admin.php:358
779
+ msgid "Save Changes"
780
+ msgstr "Salvar Alterações"
781
+
782
+ # @ download_monitor
783
+ #: includes/admin/class-dlm-admin.php:402
784
+ msgid "Download Logs"
785
+ msgstr "Logs dos Downloads"
786
+
787
+ #: includes/admin/class-dlm-admin.php:402
788
+ msgid "Export CSV"
789
+ msgstr "Exportar CSV"
790
+
791
+ # @ download_monitor
792
+ #: includes/admin/class-dlm-admin.php:402
793
+ msgid "Delete Logs"
794
+ msgstr "Resetar Logs"
795
+
796
+ # @ download_monitor
797
+ #: includes/admin/class-dlm-admin.php:453
798
+ msgid "Version ID"
799
+ msgstr "ID da Versão"
800
+
801
+ # @ download_monitor
802
+ #: includes/admin/class-dlm-admin.php:454
803
+ msgid "Filename"
804
+ msgstr "Nome do arquivo"
805
+
806
+ # @ download_monitor
807
+ #: includes/admin/class-dlm-admin.php:455
808
+ msgid "User ID"
809
+ msgstr "ID do Usuário"
810
+
811
+ # @ download_monitor
812
+ #: includes/admin/class-dlm-admin.php:456
813
+ msgid "User Login"
814
+ msgstr "Login do Usuário"
815
+
816
+ #: includes/admin/class-dlm-admin.php:457
817
+ msgid "User Email"
818
+ msgstr "Email do Usuário"
819
+
820
+ # @ download_monitor
821
+ #: includes/admin/class-dlm-admin.php:458
822
+ msgid "User IP"
823
+ msgstr "IP do Usuário"
824
+
825
+ #: includes/admin/class-dlm-admin.php:459
826
+ #: includes/admin/class-dlm-logging-list-table.php:127
827
+ msgid "User Agent"
828
+ msgstr "Agente do Usuário"
829
+
830
+ # @ download_monitor
831
+ #: includes/admin/class-dlm-admin.php:460
832
+ #: includes/admin/class-dlm-logging-list-table.php:128
833
+ msgid "Date"
834
+ msgstr "Data"
835
+
836
+ #: includes/admin/class-dlm-admin.php:461
837
+ msgid "Status"
838
+ msgstr "Status"
839
+
840
+ # @ download_monitor
841
+ #: includes/admin/class-dlm-logging-list-table.php:50
842
+ msgid "Download Complete"
843
+ msgstr "Download Finalizado com Sucesso"
844
+
845
+ # @ download_monitor
846
+ #: includes/admin/class-dlm-logging-list-table.php:57
847
+ #, php-format
848
+ msgid "%s ago"
849
+ msgstr "%s atrás"
850
+
851
+ # @ download_monitor
852
+ #: includes/admin/class-dlm-logging-list-table.php:64
853
+ #, php-format
854
+ msgid "Download #%d (no longer exists)"
855
+ msgstr "Download #%d (não existe mais)"
856
+
857
+ #: includes/admin/class-dlm-logging-list-table.php:72
858
+ #, php-format
859
+ msgid "v%s"
860
+ msgstr "v%s"
861
+
862
+ #: includes/admin/class-dlm-logging-list-table.php:92
863
+ msgid "Non-member"
864
+ msgstr "Não-membro"
865
+
866
+ # @ download_monitor
867
+ #: includes/admin/class-dlm-logging-list-table.php:125
868
+ msgid "User"
869
+ msgstr "Usuário"
870
+
871
+ # @ download_monitor
872
+ #: includes/admin/class-dlm-logging-list-table.php:126
873
+ msgid "IP Address"
874
+ msgstr "IP"
875
+
876
+ #: includes/admin/class-dlm-logging-list-table.php:142
877
+ msgid "Any status"
878
+ msgstr "Qualquer status"
879
+
880
+ #: includes/admin/class-dlm-logging-list-table.php:143
881
+ msgid "Failed"
882
+ msgstr "Falhou"
883
+
884
+ #: includes/admin/class-dlm-logging-list-table.php:144
885
+ msgid "Redirected"
886
+ msgstr "Redirecionado"
887
+
888
+ #: includes/admin/class-dlm-logging-list-table.php:145
889
+ msgid "Completed"
890
+ msgstr "Finalizado"
891
+
892
+ #: includes/admin/class-dlm-logging-list-table.php:164
893
+ msgid "Show all dates"
894
+ msgstr "Mostrar todas as datas"
895
+
896
+ #: includes/admin/class-dlm-logging-list-table.php:177
897
+ #, php-format
898
+ msgid "%1$s %2$d"
899
+ msgstr "%1$s %2$d"
900
+
901
+ #: includes/admin/class-dlm-logging-list-table.php:185
902
+ msgid "25 per page"
903
+ msgstr "25 por página"
904
+
905
+ #: includes/admin/class-dlm-logging-list-table.php:186
906
+ msgid "50 per page"
907
+ msgstr "50 por página"
908
+
909
+ #: includes/admin/class-dlm-logging-list-table.php:187
910
+ msgid "100 per page"
911
+ msgstr "100 por página"
912
+
913
+ #: includes/admin/class-dlm-logging-list-table.php:188
914
+ msgid "200 per page"
915
+ msgstr "200 por página"
916
+
917
+ # @ download_monitor
918
+ #: includes/admin/class-dlm-logging-list-table.php:189
919
+ msgid "Show All"
920
+ msgstr "Mostrar Tudo"
921
+
922
+ #: includes/admin/class-dlm-logging-list-table.php:193
923
+ msgid "Filter"
924
+ msgstr "Filtrar"
925
+
926
+ # @ download_monitor
927
+ #: includes/admin/html-downloadable-file-version.php:3
928
+ msgid "Remove"
929
+ msgstr "Apagar"
930
+
931
+ # @ download_monitor
932
+ #: includes/admin/html-downloadable-file-version.php:4
933
+ msgid "Click to toggle"
934
+ msgstr "Clique para alternar"
935
+
936
+ #: includes/admin/html-downloadable-file-version.php:5
937
+ #, php-format
938
+ msgid "Version <span class=\"version\">%s</span> (%s)"
939
+ msgstr "Versão <span class=\"version\">%s</span> (%s)"
940
+
941
+ #: includes/admin/html-downloadable-file-version.php:5
942
+ #: includes/admin/html-downloadable-file-version.php:14
943
+ msgid "n/a"
944
+ msgstr "n/a"
945
+
946
+ # @ download_monitor
947
+ #: includes/admin/html-downloadable-file-version.php:5
948
+ #, php-format
949
+ msgid "Downloaded %s time"
950
+ msgid_plural "Downloaded %s times"
951
+ msgstr[0] "Baixado %s vez"
952
+ msgstr[1] "Baixado %s vezes"
953
+
954
+ # @ download_monitor
955
+ #: includes/admin/html-downloadable-file-version.php:18
956
+ msgid "File URL(s)"
957
+ msgstr "URL(s) do Arquivo"
958
+
959
+ #: includes/admin/html-downloadable-file-version.php:19
960
+ msgid ""
961
+ "Enter one file path/URL per line - multiple files will be used as mirrors "
962
+ "(chosen at random)."
963
+ msgstr ""
964
+ "Insira um caminho/URL do arquivo por linha - vários arquivos serão usados "
965
+ "como espelhos (escolhidos aleatoriamente)."
966
+
967
+ # @ download_monitor
968
+ #: includes/admin/html-downloadable-file-version.php:24
969
+ msgid "Upload file"
970
+ msgstr "Enviar arquivo"
971
+
972
+ #: includes/admin/html-downloadable-file-version.php:26
973
+ msgid "Choose a file"
974
+ msgstr "Escolha um arquivo"
975
+
976
+ # @ download_monitor
977
+ #: includes/admin/html-downloadable-file-version.php:27
978
+ msgid "Insert file URL"
979
+ msgstr "Inserir URL do arquivo"
980
+
981
+ #: includes/admin/html-downloadable-file-version.php:31
982
+ msgid "Browse for file"
983
+ msgstr "Procurar por arquivo"
984
+
985
+ # @ download_monitor
986
+ #: includes/admin/html-downloadable-file-version.php:55
987
+ msgid "File Date"
988
+ msgstr "Data do Arquivo"
989
+
990
+ #: includes/admin/html-downloadable-file-version.php:56
991
+ msgid "h"
992
+ msgstr "h"
993
+
994
+ #: includes/admin/html-downloadable-file-version.php:56
995
+ msgid "m"
996
+ msgstr "m"
997
+
998
+ #: includes/widgets/class-dlm-widget-downloads.php:27
999
+ msgid "Display a list of your downloads."
1000
+ msgstr "Exibirá uma lista de seus downloads disponíveis."
1001
+
1002
+ # @ download_monitor
1003
+ #: includes/widgets/class-dlm-widget-downloads.php:29
1004
+ msgid "Downloads List"
1005
+ msgstr "Lista de Downloads"
1006
+
1007
+ # @ download_monitor
1008
+ #: includes/widgets/class-dlm-widget-downloads.php:52
1009
+ #: includes/widgets/class-dlm-widget-downloads.php:148
1010
+ msgid "Featured Downloads"
1011
+ msgstr "Downloads em Destaque"
1012
+
1013
+ # @ download_monitor
1014
+ #: includes/widgets/class-dlm-widget-downloads.php:157
1015
+ msgid "Title:"
1016
+ msgstr "Título:"
1017
+
1018
+ #: includes/widgets/class-dlm-widget-downloads.php:161
1019
+ msgid "Limit:"
1020
+ msgstr "Limite:"
1021
+
1022
+ #: includes/widgets/class-dlm-widget-downloads.php:165
1023
+ msgid "Output template:"
1024
+ msgstr "Modelo de saída:"
1025
+
1026
+ # @ download_monitor
1027
+ #: includes/widgets/class-dlm-widget-downloads.php:166
1028
+ msgid "Default template"
1029
+ msgstr "Modelo padrão"
1030
+
1031
+ #: includes/widgets/class-dlm-widget-downloads.php:169
1032
+ msgid "Order by:"
1033
+ msgstr "Organizar downloads:"
1034
+
1035
+ #: includes/widgets/class-dlm-widget-downloads.php:172
1036
+ msgid "Random"
1037
+ msgstr "Aletoriamente"
1038
+
1039
+ # @ download_monitor
1040
+ #: includes/widgets/class-dlm-widget-downloads.php:174
1041
+ msgid "Date added"
1042
+ msgstr "Data de upload"
1043
+
1044
+ # @ download_monitor
1045
+ #: includes/widgets/class-dlm-widget-downloads.php:175
1046
+ msgid "Date modified"
1047
+ msgstr "Data de modificação"
1048
+
1049
+ #: includes/widgets/class-dlm-widget-downloads.php:180
1050
+ msgid "Order:"
1051
+ msgstr "Ordem:"
1052
+
1053
+ #: includes/widgets/class-dlm-widget-downloads.php:182
1054
+ msgid "ASC"
1055
+ msgstr "Crescente"
1056
+
1057
+ #: includes/widgets/class-dlm-widget-downloads.php:183
1058
+ msgid "DESC"
1059
+ msgstr "Decrescente"
1060
+
1061
+ # @ download_monitor
1062
+ #: includes/widgets/class-dlm-widget-downloads.php:188
1063
+ msgid "Show only featured downloads"
1064
+ msgstr "Mostrar apenas os downloads em destaque"
1065
+
1066
+ # @ download_monitor
1067
+ #: includes/widgets/class-dlm-widget-downloads.php:192
1068
+ msgid "Show only members only downloads"
1069
+ msgstr "Mostrar apenas os downloads dos membros"
1070
+
1071
+ # @ download_monitor
1072
+ #: templates/content-download-box.php:12
1073
+ #: templates/content-download-filename.php:9 templates/content-download.php:9
1074
+ #, php-format
1075
+ msgid "1 download"
1076
+ msgid_plural "%d downloads"
1077
+ msgstr[0] "1 download"
1078
+ msgstr[1] "%d downloads"
1079
+
1080
+ # @ download_monitor
1081
+ #: templates/content-download-box.php:20
1082
+ #: templates/content-download-filename.php:8
1083
+ #: templates/content-download-title.php:8 templates/content-download.php:8
1084
+ #, php-format
1085
+ msgid "Version %s"
1086
+ msgstr "Versão %s"
1087
+
1088
+ # @ download_monitor
1089
+ #: templates/content-download-box.php:21
1090
+ msgid "Download File"
1091
+ msgstr "Baixar Arquivo"
1092
+
1093
+ #: templates/content-download-button.php:9
1094
+ #, php-format
1095
+ msgid "Download &ldquo;%s&rdquo;"
1096
+ msgstr "Download &ldquo;%s&rdquo;"
1097
+
1098
+ # @ download_monitor
1099
+ #: templates/content-download-button.php:10
1100
+ #: templates/content-download-version-list.php:17
1101
+ #, php-format
1102
+ msgid "Downloaded 1 time"
1103
+ msgid_plural "Downloaded %d times"
1104
+ msgstr[0] "Baixado 1 vez"
1105
+ msgstr[1] "Baixado %d vezes"
languages/download_monitor-zh_CN.mo ADDED
Binary file
languages/download_monitor-zh_CN.po ADDED
@@ -0,0 +1,1106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Download Monitor v1.4.2\n"
4
+ "POT-Creation-Date: 2014-03-25 12:26+0800\n"
5
+ "PO-Revision-Date: 2014-03-25 15:01+0800\n"
6
+ "Last-Translator: Andy Zou <andy.xy.zou@gmail.com>\n"
7
+ "Language-Team: Andy Zou <andy.xy.zou@gmail.com>\n"
8
+ "Language: zh_CN\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.6.4\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=1; plural=0;\n"
15
+ "X-Poedit-KeywordsList: __;_e\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-SearchPath-0: templates\n"
18
+ "X-Poedit-SearchPath-1: .\n"
19
+ "X-Poedit-SearchPath-2: includes\n"
20
+ "X-Poedit-SearchPath-3: includes\\admin\n"
21
+ "X-Poedit-SearchPath-4: includes\\widgets\n"
22
+
23
+ #: download-monitor.php:89 includes/admin/class-dlm-admin.php:249
24
+ #: includes\admin/class-dlm-admin.php:249
25
+ msgid "Settings"
26
+ msgstr "设置"
27
+
28
+ #: download-monitor.php:90 includes/admin/class-dlm-admin.php:252
29
+ #: includes\admin/class-dlm-admin.php:252
30
+ msgid "Add-ons"
31
+ msgstr "附加组件"
32
+
33
+ #: download-monitor.php:91
34
+ msgid "Docs"
35
+ msgstr "文档"
36
+
37
+ #: download-monitor.php:238 download-monitor.php:240
38
+ #: includes/admin/class-dlm-admin-cpt.php:172
39
+ #: includes\admin/class-dlm-admin-cpt.php:172
40
+ msgid "Categories"
41
+ msgstr "分类"
42
+
43
+ #: download-monitor.php:241
44
+ msgid "Download Category"
45
+ msgstr "下载分类"
46
+
47
+ #: download-monitor.php:242
48
+ msgid "Search Download Categories"
49
+ msgstr "查找下载分类"
50
+
51
+ #: download-monitor.php:243
52
+ msgid "All Download Categories"
53
+ msgstr "所有下载分类"
54
+
55
+ #: download-monitor.php:244
56
+ msgid "Parent Download Category"
57
+ msgstr "父下载分类"
58
+
59
+ #: download-monitor.php:245
60
+ msgid "Parent Download Category:"
61
+ msgstr "父下载分类:"
62
+
63
+ #: download-monitor.php:246
64
+ msgid "Edit Download Category"
65
+ msgstr "编辑下载分类"
66
+
67
+ #: download-monitor.php:247
68
+ msgid "Update Download Category"
69
+ msgstr "更新下载分类"
70
+
71
+ #: download-monitor.php:248
72
+ msgid "Add New Download Category"
73
+ msgstr "添加新下载分类"
74
+
75
+ #: download-monitor.php:249
76
+ msgid "New Download Category Name"
77
+ msgstr "新下载分类名称"
78
+
79
+ #: download-monitor.php:268 download-monitor.php:270
80
+ #: includes/admin/class-dlm-admin-cpt.php:173
81
+ #: includes\admin/class-dlm-admin-cpt.php:173
82
+ msgid "Tags"
83
+ msgstr "标签"
84
+
85
+ #: download-monitor.php:271
86
+ msgid "Download Tag"
87
+ msgstr "下载标签"
88
+
89
+ #: download-monitor.php:272
90
+ msgid "Search Download Tags"
91
+ msgstr "查找下载标签"
92
+
93
+ #: download-monitor.php:273
94
+ msgid "All Download Tags"
95
+ msgstr "所有下载标签"
96
+
97
+ #: download-monitor.php:274
98
+ msgid "Parent Download Tag"
99
+ msgstr "父下载标签"
100
+
101
+ #: download-monitor.php:275
102
+ msgid "Parent Download Tag:"
103
+ msgstr "父下载标签:"
104
+
105
+ #: download-monitor.php:276
106
+ msgid "Edit Download Tag"
107
+ msgstr "编辑下载标签"
108
+
109
+ #: download-monitor.php:277
110
+ msgid "Update Download Tag"
111
+ msgstr "更新下载标签"
112
+
113
+ #: download-monitor.php:278
114
+ msgid "Add New Download Tag"
115
+ msgstr "添加新下载标签"
116
+
117
+ #: download-monitor.php:279
118
+ msgid "New Download Tag Name"
119
+ msgstr "新下载标签名称"
120
+
121
+ #: download-monitor.php:300
122
+ msgid "All Downloads"
123
+ msgstr "所有下载"
124
+
125
+ #: download-monitor.php:301
126
+ msgid "Downloads"
127
+ msgstr "下载"
128
+
129
+ #: download-monitor.php:302 includes/admin/class-dlm-admin-dashboard.php:69
130
+ #: includes/admin/class-dlm-logging-list-table.php:123
131
+ #: includes\admin/class-dlm-admin-dashboard.php:69
132
+ #: includes\admin/class-dlm-logging-list-table.php:123
133
+ msgid "Download"
134
+ msgstr "下载"
135
+
136
+ #: download-monitor.php:303
137
+ msgid "Add New"
138
+ msgstr "新添加"
139
+
140
+ #: download-monitor.php:304
141
+ msgid "Add Download"
142
+ msgstr "添加下载"
143
+
144
+ #: download-monitor.php:305
145
+ msgid "Edit"
146
+ msgstr "编辑"
147
+
148
+ #: download-monitor.php:306
149
+ msgid "Edit Download"
150
+ msgstr "编辑下载"
151
+
152
+ #: download-monitor.php:307
153
+ msgid "New Download"
154
+ msgstr "新建下载"
155
+
156
+ #: download-monitor.php:308 download-monitor.php:309
157
+ msgid "View Download"
158
+ msgstr "浏览下载"
159
+
160
+ #: download-monitor.php:310
161
+ msgid "Search Downloads"
162
+ msgstr "查找下载"
163
+
164
+ #: download-monitor.php:311
165
+ msgid "No Downloads found"
166
+ msgstr "没有找到下载"
167
+
168
+ #: download-monitor.php:312
169
+ msgid "No Downloads found in trash"
170
+ msgstr "在垃圾篓没有找到下载"
171
+
172
+ #: download-monitor.php:313
173
+ msgid "Parent Download"
174
+ msgstr "父下载"
175
+
176
+ #: download-monitor.php:315
177
+ msgid "This is where you can create and manage downloads for your site."
178
+ msgstr "在这儿您可以为您的站点创建和管理下载"
179
+
180
+ #: includes/admin/class-dlm-addons.php:50
181
+ #: includes/admin/class-dlm-admin.php:252
182
+ #: includes\admin/class-dlm-addons.php:50
183
+ #: includes\admin/class-dlm-admin.php:252
184
+ msgid "Download Monitor Add-ons"
185
+ msgstr "Download Monitor 附加组件"
186
+
187
+ #: includes/admin/class-dlm-admin-cpt.php:64
188
+ #: includes\admin/class-dlm-admin-cpt.php:64
189
+ msgid "Select a category"
190
+ msgstr "选择一个分类"
191
+
192
+ #: includes/admin/class-dlm-admin-cpt.php:124
193
+ #: includes\admin/class-dlm-admin-cpt.php:124
194
+ msgid "Download title"
195
+ msgstr "下载标题"
196
+
197
+ #: includes/admin/class-dlm-admin-cpt.php:140
198
+ #: includes/admin/class-dlm-admin-cpt.php:143
199
+ #: includes\admin/class-dlm-admin-cpt.php:140
200
+ #: includes\admin/class-dlm-admin-cpt.php:143
201
+ msgid "Download updated."
202
+ msgstr "下载已经更新"
203
+
204
+ #: includes/admin/class-dlm-admin-cpt.php:141
205
+ #: includes\admin/class-dlm-admin-cpt.php:141
206
+ msgid "Custom field updated."
207
+ msgstr "自定义字段已更新"
208
+
209
+ #: includes/admin/class-dlm-admin-cpt.php:142
210
+ #: includes\admin/class-dlm-admin-cpt.php:142
211
+ msgid "Custom field deleted."
212
+ msgstr "自定义字段已删除"
213
+
214
+ #: includes/admin/class-dlm-admin-cpt.php:144
215
+ #: includes\admin/class-dlm-admin-cpt.php:144
216
+ #, php-format
217
+ msgid "Download restored to revision from %s"
218
+ msgstr " 从%s下载恢复修正"
219
+
220
+ #: includes/admin/class-dlm-admin-cpt.php:145
221
+ #: includes\admin/class-dlm-admin-cpt.php:145
222
+ msgid "Download published."
223
+ msgstr "下载已发布"
224
+
225
+ #: includes/admin/class-dlm-admin-cpt.php:146
226
+ #: includes\admin/class-dlm-admin-cpt.php:146
227
+ msgid "Download saved."
228
+ msgstr "下载已保存"
229
+
230
+ #: includes/admin/class-dlm-admin-cpt.php:147
231
+ #: includes\admin/class-dlm-admin-cpt.php:147
232
+ msgid "Download submitted."
233
+ msgstr "下载已提交"
234
+
235
+ #: includes/admin/class-dlm-admin-cpt.php:148
236
+ #: includes\admin/class-dlm-admin-cpt.php:148
237
+ #, php-format
238
+ msgid "Download scheduled for: <strong>%1$s</strong>."
239
+ msgstr "已经为<strong>%1$s</strong>安排下载。"
240
+
241
+ #: includes/admin/class-dlm-admin-cpt.php:149
242
+ #: includes\admin/class-dlm-admin-cpt.php:149
243
+ msgid "M j, Y @ G:i"
244
+ msgstr "M j, Y @ G:i"
245
+
246
+ #: includes/admin/class-dlm-admin-cpt.php:150
247
+ #: includes\admin/class-dlm-admin-cpt.php:150
248
+ msgid "Download draft updated."
249
+ msgstr "下载草稿已更新"
250
+
251
+ #: includes/admin/class-dlm-admin-cpt.php:167
252
+ #: includes\admin/class-dlm-admin-cpt.php:167
253
+ msgid "Image"
254
+ msgstr "图像"
255
+
256
+ #: includes/admin/class-dlm-admin-cpt.php:168
257
+ #: includes/widgets/class-dlm-widget-downloads.php:171
258
+ #: includes\admin/class-dlm-admin-cpt.php:168
259
+ #: includes\widgets/class-dlm-widget-downloads.php:171
260
+ msgid "Title"
261
+ msgstr "标题"
262
+
263
+ #: includes/admin/class-dlm-admin-cpt.php:169
264
+ #: includes/widgets/class-dlm-widget-downloads.php:173
265
+ #: includes\admin/class-dlm-admin-cpt.php:169
266
+ #: includes\widgets/class-dlm-widget-downloads.php:173
267
+ msgid "ID"
268
+ msgstr "ID"
269
+
270
+ #: includes/admin/class-dlm-admin-cpt.php:170
271
+ #: includes/admin/class-dlm-logging-list-table.php:124
272
+ #: includes\admin/class-dlm-admin-cpt.php:170
273
+ #: includes\admin/class-dlm-logging-list-table.php:124
274
+ msgid "File"
275
+ msgstr "文件"
276
+
277
+ #: includes/admin/class-dlm-admin-cpt.php:171
278
+ #: includes/admin/class-dlm-admin-insert.php:205
279
+ #: includes/admin/html-downloadable-file-version.php:13
280
+ #: includes\admin/class-dlm-admin-cpt.php:171
281
+ #: includes\admin/class-dlm-admin-insert.php:205
282
+ #: includes\admin/html-downloadable-file-version.php:13
283
+ msgid "Version"
284
+ msgstr "版本"
285
+
286
+ #: includes/admin/class-dlm-admin-cpt.php:174
287
+ #: includes/admin/class-dlm-admin-dashboard.php:70
288
+ #: includes/admin/html-downloadable-file-version.php:49
289
+ #: includes/widgets/class-dlm-widget-downloads.php:176
290
+ #: includes\admin/class-dlm-admin-cpt.php:174
291
+ #: includes\admin/class-dlm-admin-dashboard.php:70
292
+ #: includes\admin/html-downloadable-file-version.php:49
293
+ #: includes\widgets/class-dlm-widget-downloads.php:176
294
+ msgid "Download count"
295
+ msgstr "下载次数"
296
+
297
+ #: includes/admin/class-dlm-admin-cpt.php:175
298
+ #: includes\admin/class-dlm-admin-cpt.php:175
299
+ msgid "Featured"
300
+ msgstr "特色"
301
+
302
+ #: includes/admin/class-dlm-admin-cpt.php:176
303
+ #: includes/admin/class-dlm-admin-writepanels.php:63
304
+ #: includes\admin/class-dlm-admin-cpt.php:176
305
+ #: includes\admin/class-dlm-admin-writepanels.php:63
306
+ msgid "Members only"
307
+ msgstr "仅会员"
308
+
309
+ #: includes/admin/class-dlm-admin-cpt.php:177
310
+ #: includes\admin/class-dlm-admin-cpt.php:177
311
+ msgid "Redirect only"
312
+ msgstr "仅重定向"
313
+
314
+ #: includes/admin/class-dlm-admin-cpt.php:178
315
+ #: includes\admin/class-dlm-admin-cpt.php:178
316
+ msgid "Date posted"
317
+ msgstr "发布日期"
318
+
319
+ #: includes/admin/class-dlm-admin-cpt.php:212
320
+ #: includes/admin/class-dlm-admin-cpt.php:220
321
+ #: includes/admin/class-dlm-admin-cpt.php:228
322
+ #: includes\admin/class-dlm-admin-cpt.php:212
323
+ #: includes\admin/class-dlm-admin-cpt.php:220
324
+ #: includes\admin/class-dlm-admin-cpt.php:228
325
+ msgid "Yes"
326
+ msgstr "是"
327
+
328
+ #: includes/admin/class-dlm-admin-dashboard.php:21
329
+ #: includes\admin/class-dlm-admin-dashboard.php:21
330
+ msgid "Popular Downloads"
331
+ msgstr "热门下载"
332
+
333
+ #: includes/admin/class-dlm-admin-dashboard.php:53
334
+ #: includes\admin/class-dlm-admin-dashboard.php:53
335
+ msgid "There are no stats available yet!"
336
+ msgstr "目前未统计"
337
+
338
+ #: includes/admin/class-dlm-admin-insert.php:32
339
+ #: includes/admin/class-dlm-admin-insert.php:70
340
+ #: includes\admin/class-dlm-admin-insert.php:32
341
+ #: includes\admin/class-dlm-admin-insert.php:70
342
+ msgid "Insert Download"
343
+ msgstr "插入下载"
344
+
345
+ #: includes/admin/class-dlm-admin-insert.php:80
346
+ #: includes/admin/class-dlm-admin-insert.php:176
347
+ #: includes\admin/class-dlm-admin-insert.php:80
348
+ #: includes\admin/class-dlm-admin-insert.php:176
349
+ msgid "Insert Shortcode"
350
+ msgstr "插入快捷码"
351
+
352
+ #: includes/admin/class-dlm-admin-insert.php:80
353
+ #: includes\admin/class-dlm-admin-insert.php:80
354
+ msgid "Quick-add download"
355
+ msgstr "快速添加下载"
356
+
357
+ #: includes/admin/class-dlm-admin-insert.php:124
358
+ #: includes\admin/class-dlm-admin-insert.php:124
359
+ msgid "Error: File was not created."
360
+ msgstr "错误:未能创建文件。"
361
+
362
+ #: includes/admin/class-dlm-admin-insert.php:137
363
+ #: includes\admin/class-dlm-admin-insert.php:137
364
+ msgid "Download successfully created."
365
+ msgstr "已成功创建下载。"
366
+
367
+ #: includes/admin/class-dlm-admin-insert.php:139
368
+ #: includes\admin/class-dlm-admin-insert.php:139
369
+ msgid "Error: Download was not created."
370
+ msgstr "错误: 未能创建下载。"
371
+
372
+ #: includes/admin/class-dlm-admin-insert.php:157
373
+ #: includes\admin/class-dlm-admin-insert.php:157
374
+ msgid "Choose a download"
375
+ msgstr "选择下载"
376
+
377
+ #: includes/admin/class-dlm-admin-insert.php:169
378
+ #: includes\admin/class-dlm-admin-insert.php:169
379
+ msgid "Template"
380
+ msgstr "模板"
381
+
382
+ #: includes/admin/class-dlm-admin-insert.php:170
383
+ #: includes\admin/class-dlm-admin-insert.php:170
384
+ msgid "Template Name"
385
+ msgstr "模板名称"
386
+
387
+ #: includes/admin/class-dlm-admin-insert.php:172
388
+ #: includes\admin/class-dlm-admin-insert.php:172
389
+ msgid ""
390
+ "Leaving this blank will use the default <code>content-download.php</code> "
391
+ "template file. If you enter, for example, <code>image</code>, the "
392
+ "<code>content-download-image.php</code> template will be used instead."
393
+ msgstr ""
394
+ "留空将使用 <code>content-download.php</code>模板文件。如果输入了,例如 "
395
+ "<code>image</code>,那么将使用 <code>content-download-image.php</code>模板文"
396
+ "件。"
397
+
398
+ #: includes/admin/class-dlm-admin-insert.php:187
399
+ #: includes\admin/class-dlm-admin-insert.php:187
400
+ msgid "Drop file here"
401
+ msgstr "把文件拖至这里"
402
+
403
+ #: includes/admin/class-dlm-admin-insert.php:188
404
+ #: includes/admin/class-dlm-admin-insert.php:190
405
+ #: includes\admin/class-dlm-admin-insert.php:188
406
+ #: includes\admin/class-dlm-admin-insert.php:190
407
+ msgid "or"
408
+ msgstr "或"
409
+
410
+ #: includes/admin/class-dlm-admin-insert.php:191
411
+ #: includes\admin/class-dlm-admin-insert.php:191
412
+ msgid "Enter URL manually"
413
+ msgstr "手工输入URL"
414
+
415
+ #: includes/admin/class-dlm-admin-insert.php:197
416
+ #: includes\admin/class-dlm-admin-insert.php:197
417
+ msgid "Download URL"
418
+ msgstr "下载URL"
419
+
420
+ #: includes/admin/class-dlm-admin-insert.php:198
421
+ #: includes\admin/class-dlm-admin-insert.php:198
422
+ msgid "Required URL"
423
+ msgstr "必选URL"
424
+
425
+ #: includes/admin/class-dlm-admin-insert.php:201
426
+ #: includes\admin/class-dlm-admin-insert.php:201
427
+ msgid "Download Title"
428
+ msgstr "下载标题"
429
+
430
+ #: includes/admin/class-dlm-admin-insert.php:202
431
+ #: includes\admin/class-dlm-admin-insert.php:202
432
+ msgid "Required title"
433
+ msgstr "标题必选"
434
+
435
+ #: includes/admin/class-dlm-admin-insert.php:206
436
+ #: includes\admin/class-dlm-admin-insert.php:206
437
+ msgid "Optional version number"
438
+ msgstr "可选版本号"
439
+
440
+ #: includes/admin/class-dlm-admin-insert.php:209
441
+ #: includes\admin/class-dlm-admin-insert.php:209
442
+ msgid "Save Download"
443
+ msgstr "保存下载"
444
+
445
+ #: includes/admin/class-dlm-admin-insert.php:267
446
+ #: includes\admin/class-dlm-admin-insert.php:267
447
+ msgid "Allowed Files"
448
+ msgstr "允许的文件"
449
+
450
+ #: includes/admin/class-dlm-admin-insert.php:317
451
+ #: includes\admin/class-dlm-admin-insert.php:317
452
+ msgid "Please wait..."
453
+ msgstr "请稍等 ..."
454
+
455
+ #: includes/admin/class-dlm-admin-media-browser.php:31
456
+ #: includes\admin/class-dlm-admin-media-browser.php:31
457
+ msgid "Browse for a file"
458
+ msgstr "浏览文件"
459
+
460
+ #: includes/admin/class-dlm-admin-media-browser.php:101
461
+ #: includes\admin/class-dlm-admin-media-browser.php:101
462
+ msgid "No files found"
463
+ msgstr "未找到文件"
464
+
465
+ #: includes/admin/class-dlm-admin-writepanels.php:29
466
+ #: includes\admin/class-dlm-admin-writepanels.php:29
467
+ msgid "Download Options"
468
+ msgstr "下载选项"
469
+
470
+ #: includes/admin/class-dlm-admin-writepanels.php:30
471
+ #: includes\admin/class-dlm-admin-writepanels.php:30
472
+ msgid "Downloadable Files/Versions"
473
+ msgstr "可供下载的 文件/版本"
474
+
475
+ #: includes/admin/class-dlm-admin-writepanels.php:35
476
+ #: includes\admin/class-dlm-admin-writepanels.php:35
477
+ msgid "Short Description"
478
+ msgstr "简洁描述"
479
+
480
+ #: includes/admin/class-dlm-admin-writepanels.php:57
481
+ #: includes\admin/class-dlm-admin-writepanels.php:57
482
+ msgid "Featured download"
483
+ msgstr "特色下载"
484
+
485
+ #: includes/admin/class-dlm-admin-writepanels.php:58
486
+ #: includes\admin/class-dlm-admin-writepanels.php:58
487
+ msgid "Mark this download as featured. Used by shortcodes and widgets."
488
+ msgstr "标记为特色下载。快捷码和小工具可以使用。"
489
+
490
+ #: includes/admin/class-dlm-admin-writepanels.php:64
491
+ #: includes\admin/class-dlm-admin-writepanels.php:64
492
+ msgid ""
493
+ "Only logged in users will be able to access the file via a download link if "
494
+ "this is enabled."
495
+ msgstr "如果启用此选项,仅登录用户可以通过下载链接访问文件。"
496
+
497
+ #: includes/admin/class-dlm-admin-writepanels.php:69
498
+ #: includes\admin/class-dlm-admin-writepanels.php:69
499
+ msgid "Redirect to file"
500
+ msgstr "重定向至文件"
501
+
502
+ #: includes/admin/class-dlm-admin-writepanels.php:70
503
+ #: includes\admin/class-dlm-admin-writepanels.php:70
504
+ msgid ""
505
+ "Don't force download. If the <code>dlm_upload</code> folder is protected you "
506
+ "may need to move your file."
507
+ msgstr ""
508
+ "不强行下载。如何文件夹<code>dlm_upload</code>被保护,您也许需要移动你的文件。"
509
+
510
+ #: includes/admin/class-dlm-admin-writepanels.php:94
511
+ #: includes\admin/class-dlm-admin-writepanels.php:94
512
+ msgid "Add file"
513
+ msgstr "添加文件"
514
+
515
+ #: includes/admin/class-dlm-admin-writepanels.php:95
516
+ #: includes\admin/class-dlm-admin-writepanels.php:95
517
+ msgid "Close all"
518
+ msgstr "关闭所有 "
519
+
520
+ #: includes/admin/class-dlm-admin-writepanels.php:95
521
+ #: includes\admin/class-dlm-admin-writepanels.php:95
522
+ msgid "Expand all"
523
+ msgstr "展开所有"
524
+
525
+ #: includes/admin/class-dlm-admin-writepanels.php:220
526
+ #: includes\admin/class-dlm-admin-writepanels.php:220
527
+ msgid "Are you sure you want to delete this file?"
528
+ msgstr "确定删除此文件?"
529
+
530
+ #: includes/admin/class-dlm-admin.php:95 includes\admin/class-dlm-admin.php:95
531
+ msgid "General"
532
+ msgstr "通用"
533
+
534
+ #: includes/admin/class-dlm-admin.php:100
535
+ #: includes\admin/class-dlm-admin.php:100
536
+ msgid "Default Template"
537
+ msgstr "默认模板"
538
+
539
+ #: includes/admin/class-dlm-admin.php:101
540
+ #: includes\admin/class-dlm-admin.php:101
541
+ msgid ""
542
+ "Choose which template is used for <code>[download]</code> shortcodes by "
543
+ "default (this can be overridden by the <code>format</code> argument)."
544
+ msgstr ""
545
+ "为快捷码 <code>[download]</code> 选择默认模板(<code>format</code>参数覆盖可"
546
+ "以此项)。"
547
+
548
+ #: includes/admin/class-dlm-admin.php:104
549
+ #: includes\admin/class-dlm-admin.php:104
550
+ msgid "Default - Title and count"
551
+ msgstr "默认 - 标题和数目"
552
+
553
+ #: includes/admin/class-dlm-admin.php:105
554
+ #: includes\admin/class-dlm-admin.php:105
555
+ msgid "Button - CSS styled button showing title and count"
556
+ msgstr "按钮 - 显示标题和数目的CSS形式按钮"
557
+
558
+ #: includes/admin/class-dlm-admin.php:106
559
+ #: includes\admin/class-dlm-admin.php:106
560
+ msgid "Box - Box showing thumbnail, title, count, filename and filesize."
561
+ msgstr "方框 - 显示缩略图,标题,数目,文件名和文件大小的方框"
562
+
563
+ #: includes/admin/class-dlm-admin.php:107
564
+ #: includes\admin/class-dlm-admin.php:107
565
+ msgid "Filename - Filename and download count"
566
+ msgstr "文件名 - 文件名和下载次数"
567
+
568
+ #: includes/admin/class-dlm-admin.php:108
569
+ #: includes\admin/class-dlm-admin.php:108
570
+ msgid "Title - Shows download title only"
571
+ msgstr "标题 - 仅显示下载标题"
572
+
573
+ #: includes/admin/class-dlm-admin.php:109
574
+ #: includes\admin/class-dlm-admin.php:109
575
+ msgid "Version list - Lists all download versions in an unordered list"
576
+ msgstr "版本列表 - 列出所有下载版本的无序列表"
577
+
578
+ #: includes/admin/class-dlm-admin.php:110
579
+ #: includes\admin/class-dlm-admin.php:110
580
+ msgid "Custom template"
581
+ msgstr "自定义模板"
582
+
583
+ #: includes/admin/class-dlm-admin.php:116
584
+ #: includes\admin/class-dlm-admin.php:116
585
+ msgid "Custom Template"
586
+ msgstr "自定义模板"
587
+
588
+ #: includes/admin/class-dlm-admin.php:117
589
+ #: includes\admin/class-dlm-admin.php:117
590
+ msgid ""
591
+ "Leaving this blank will use the default <code>content-download.php</code> "
592
+ "template file. If you enter, for example, <code>image</code>, the "
593
+ "<code>content-download-image.php</code> template will be used instead. You "
594
+ "can add custom templates inside your theme folder."
595
+ msgstr ""
596
+ "留空将使用 <code>content-download.php</code>模板文件。如果输入了,例如 "
597
+ "<code>image</code>,那么将使用 <code>content-download-image.php</code>模板文"
598
+ "件。您可以在您的主题文件夹添加自己定义模板。"
599
+
600
+ #: includes/admin/class-dlm-admin.php:122
601
+ #: includes\admin/class-dlm-admin.php:122
602
+ msgid "Endpoint"
603
+ msgstr "Endpoint"
604
+
605
+ #: includes/admin/class-dlm-admin.php:127
606
+ #: includes\admin/class-dlm-admin.php:127
607
+ msgid "download"
608
+ msgstr "下载"
609
+
610
+ #: includes/admin/class-dlm-admin.php:128
611
+ #: includes\admin/class-dlm-admin.php:128
612
+ msgid "Download Endpoint"
613
+ msgstr "下载的Endpoint"
614
+
615
+ #: includes/admin/class-dlm-admin.php:129
616
+ #: includes\admin/class-dlm-admin.php:129
617
+ #, php-format
618
+ msgid ""
619
+ "Define what endpoint should be used for download links. By default this will "
620
+ "be <code>%s</code>."
621
+ msgstr "定义用于下载链接的endpoint。默认为 <code>%s</code>。"
622
+
623
+ #: includes/admin/class-dlm-admin.php:134
624
+ #: includes\admin/class-dlm-admin.php:134
625
+ msgid "Endpoint Value"
626
+ msgstr "Endpoint值"
627
+
628
+ #: includes/admin/class-dlm-admin.php:135
629
+ #: includes\admin/class-dlm-admin.php:135
630
+ #, php-format
631
+ msgid ""
632
+ "Define what unique value should be used on the end of your endpoint to "
633
+ "identify the downloadable file. e.g. ID would give a link like <code>%s</"
634
+ "code>"
635
+ msgstr ""
636
+ "定义独一无二值放在endpoint之后用来标识下载文件。例如使用 ID 将给出像<code>"
637
+ "%s</code>的链接。"
638
+
639
+ #: includes/admin/class-dlm-admin.php:138
640
+ #: includes/admin/class-dlm-admin.php:452
641
+ #: includes\admin/class-dlm-admin.php:138
642
+ #: includes\admin/class-dlm-admin.php:452
643
+ msgid "Download ID"
644
+ msgstr "下载ID"
645
+
646
+ #: includes/admin/class-dlm-admin.php:139
647
+ #: includes\admin/class-dlm-admin.php:139
648
+ msgid "Download slug"
649
+ msgstr "下载别名"
650
+
651
+ #: includes/admin/class-dlm-admin.php:145
652
+ #: includes\admin/class-dlm-admin.php:145
653
+ msgid "X-Accel-Redirect / X-Sendfile"
654
+ msgstr "X-Accel-Redirect / X-Sendfile"
655
+
656
+ #: includes/admin/class-dlm-admin.php:146
657
+ #: includes/admin/class-dlm-admin.php:157
658
+ #: includes\admin/class-dlm-admin.php:146
659
+ #: includes\admin/class-dlm-admin.php:157
660
+ msgid "Enable"
661
+ msgstr "启用"
662
+
663
+ #: includes/admin/class-dlm-admin.php:147
664
+ #: includes\admin/class-dlm-admin.php:147
665
+ msgid ""
666
+ "If supported, <code>X-Accel-Redirect</code> / <code>X-Sendfile</code> can be "
667
+ "used to serve downloads instead of PHP (server requires <code>mod_xsendfile</"
668
+ "code>)."
669
+ msgstr ""
670
+ "如果支持, 可以使用<code>X-Accel-Redirect</code> / <code>X-Sendfile</code>供"
671
+ "下载, 而不是使用PHP (服务器需要启用<code>mod_xsendfile</code>模块)。"
672
+
673
+ #: includes/admin/class-dlm-admin.php:153
674
+ #: includes\admin/class-dlm-admin.php:153
675
+ msgid "Logging"
676
+ msgstr "记录日志"
677
+
678
+ #: includes/admin/class-dlm-admin.php:159
679
+ #: includes\admin/class-dlm-admin.php:159
680
+ msgid "Download Log"
681
+ msgstr "下载日志"
682
+
683
+ #: includes/admin/class-dlm-admin.php:160
684
+ #: includes\admin/class-dlm-admin.php:160
685
+ msgid "Log download attempts, IP addresses and more."
686
+ msgstr "记录下载尝试,IP地址等。"
687
+
688
+ #: includes/admin/class-dlm-admin.php:166
689
+ #: includes\admin/class-dlm-admin.php:166
690
+ msgid "Blacklist IPs"
691
+ msgstr "IP黑名单"
692
+
693
+ #: includes/admin/class-dlm-admin.php:167
694
+ #: includes\admin/class-dlm-admin.php:167
695
+ msgid ""
696
+ "List IP Addresses to blacklist, 1 per line. Use <code>*</code> for a "
697
+ "wildcard."
698
+ msgstr "IP黑名单列表,每行1个。 使用 <code>*</code>作为通配符。"
699
+
700
+ #: includes/admin/class-dlm-admin.php:174
701
+ #: includes\admin/class-dlm-admin.php:174
702
+ msgid "Blacklist user agents"
703
+ msgstr "浏览器User-Agent黑名单"
704
+
705
+ #: includes/admin/class-dlm-admin.php:175
706
+ #: includes\admin/class-dlm-admin.php:175
707
+ msgid "List browser user agents to blacklist, 1 per line."
708
+ msgstr "浏览User-Agent黑名单列表,每行1个。"
709
+
710
+ #: includes/admin/class-dlm-admin.php:247
711
+ #: includes\admin/class-dlm-admin.php:247
712
+ msgid "Logs"
713
+ msgstr "日志"
714
+
715
+ #: includes/admin/class-dlm-admin.php:291
716
+ #: includes\admin/class-dlm-admin.php:291
717
+ msgid "Settings successfully saved"
718
+ msgstr "已经成功保存设置"
719
+
720
+ #: includes/admin/class-dlm-admin.php:358
721
+ #: includes\admin/class-dlm-admin.php:358
722
+ msgid "Save Changes"
723
+ msgstr "保存更改"
724
+
725
+ #: includes/admin/class-dlm-admin.php:402
726
+ #: includes\admin/class-dlm-admin.php:402
727
+ msgid "Download Logs"
728
+ msgstr "下载日志"
729
+
730
+ #: includes/admin/class-dlm-admin.php:402
731
+ #: includes\admin/class-dlm-admin.php:402
732
+ msgid "Export CSV"
733
+ msgstr "导出为CSV"
734
+
735
+ #: includes/admin/class-dlm-admin.php:402
736
+ #: includes\admin/class-dlm-admin.php:402
737
+ msgid "Delete Logs"
738
+ msgstr "删除日志"
739
+
740
+ #: includes/admin/class-dlm-admin.php:453
741
+ #: includes\admin/class-dlm-admin.php:453
742
+ msgid "Version ID"
743
+ msgstr "版本ID"
744
+
745
+ #: includes/admin/class-dlm-admin.php:454
746
+ #: includes\admin/class-dlm-admin.php:454
747
+ msgid "Filename"
748
+ msgstr "文件名"
749
+
750
+ #: includes/admin/class-dlm-admin.php:455
751
+ #: includes\admin/class-dlm-admin.php:455
752
+ msgid "User ID"
753
+ msgstr "用户ID"
754
+
755
+ #: includes/admin/class-dlm-admin.php:456
756
+ #: includes\admin/class-dlm-admin.php:456
757
+ msgid "User Login"
758
+ msgstr "用户登录名"
759
+
760
+ #: includes/admin/class-dlm-admin.php:457
761
+ #: includes\admin/class-dlm-admin.php:457
762
+ msgid "User Email"
763
+ msgstr "用户Email"
764
+
765
+ #: includes/admin/class-dlm-admin.php:458
766
+ #: includes\admin/class-dlm-admin.php:458
767
+ msgid "User IP"
768
+ msgstr "用户IP"
769
+
770
+ #: includes/admin/class-dlm-admin.php:459
771
+ #: includes/admin/class-dlm-logging-list-table.php:127
772
+ #: includes\admin/class-dlm-admin.php:459
773
+ #: includes\admin/class-dlm-logging-list-table.php:127
774
+ msgid "User Agent"
775
+ msgstr "浏览器User-Agent"
776
+
777
+ #: includes/admin/class-dlm-admin.php:460
778
+ #: includes/admin/class-dlm-logging-list-table.php:128
779
+ #: includes\admin/class-dlm-admin.php:460
780
+ #: includes\admin/class-dlm-logging-list-table.php:128
781
+ msgid "Date"
782
+ msgstr "日期"
783
+
784
+ #: includes/admin/class-dlm-admin.php:461
785
+ #: includes\admin/class-dlm-admin.php:461
786
+ msgid "Status"
787
+ msgstr "状态"
788
+
789
+ #: includes/admin/class-dlm-logging-list-table.php:50
790
+ #: includes\admin/class-dlm-logging-list-table.php:50
791
+ msgid "Download Complete"
792
+ msgstr "下载完成"
793
+
794
+ #: includes/admin/class-dlm-logging-list-table.php:57
795
+ #: includes\admin/class-dlm-logging-list-table.php:57
796
+ #, php-format
797
+ msgid "%s ago"
798
+ msgstr "%s 前"
799
+
800
+ #: includes/admin/class-dlm-logging-list-table.php:64
801
+ #: includes\admin/class-dlm-logging-list-table.php:64
802
+ #, php-format
803
+ msgid "Download #%d (no longer exists)"
804
+ msgstr "下载 #%d (已经不存在)"
805
+
806
+ #: includes/admin/class-dlm-logging-list-table.php:72
807
+ #: includes\admin/class-dlm-logging-list-table.php:72
808
+ #, php-format
809
+ msgid "v%s"
810
+ msgstr "v%s"
811
+
812
+ #: includes/admin/class-dlm-logging-list-table.php:92
813
+ #: includes\admin/class-dlm-logging-list-table.php:92
814
+ msgid "Non-member"
815
+ msgstr "非会员"
816
+
817
+ #: includes/admin/class-dlm-logging-list-table.php:125
818
+ #: includes\admin/class-dlm-logging-list-table.php:125
819
+ msgid "User"
820
+ msgstr "用户"
821
+
822
+ #: includes/admin/class-dlm-logging-list-table.php:126
823
+ #: includes\admin/class-dlm-logging-list-table.php:126
824
+ msgid "IP Address"
825
+ msgstr "IP地址"
826
+
827
+ #: includes/admin/class-dlm-logging-list-table.php:142
828
+ #: includes\admin/class-dlm-logging-list-table.php:142
829
+ msgid "Any status"
830
+ msgstr "任何状态"
831
+
832
+ #: includes/admin/class-dlm-logging-list-table.php:143
833
+ #: includes\admin/class-dlm-logging-list-table.php:143
834
+ msgid "Failed"
835
+ msgstr "失败"
836
+
837
+ #: includes/admin/class-dlm-logging-list-table.php:144
838
+ #: includes\admin/class-dlm-logging-list-table.php:144
839
+ msgid "Redirected"
840
+ msgstr "已重定向"
841
+
842
+ #: includes/admin/class-dlm-logging-list-table.php:145
843
+ #: includes\admin/class-dlm-logging-list-table.php:145
844
+ msgid "Completed"
845
+ msgstr "已经完成"
846
+
847
+ #: includes/admin/class-dlm-logging-list-table.php:164
848
+ #: includes\admin/class-dlm-logging-list-table.php:164
849
+ msgid "Show all dates"
850
+ msgstr "显示所有日期"
851
+
852
+ #: includes/admin/class-dlm-logging-list-table.php:177
853
+ #: includes\admin/class-dlm-logging-list-table.php:177
854
+ #, php-format
855
+ msgid "%1$s %2$d"
856
+ msgstr "%1$s %2$d"
857
+
858
+ #: includes/admin/class-dlm-logging-list-table.php:185
859
+ #: includes\admin/class-dlm-logging-list-table.php:185
860
+ msgid "25 per page"
861
+ msgstr "每页25条"
862
+
863
+ #: includes/admin/class-dlm-logging-list-table.php:186
864
+ #: includes\admin/class-dlm-logging-list-table.php:186
865
+ msgid "50 per page"
866
+ msgstr "每页50条"
867
+
868
+ #: includes/admin/class-dlm-logging-list-table.php:187
869
+ #: includes\admin/class-dlm-logging-list-table.php:187
870
+ msgid "100 per page"
871
+ msgstr "每页100条"
872
+
873
+ #: includes/admin/class-dlm-logging-list-table.php:188
874
+ #: includes\admin/class-dlm-logging-list-table.php:188
875
+ msgid "200 per page"
876
+ msgstr "每页200条"
877
+
878
+ #: includes/admin/class-dlm-logging-list-table.php:189
879
+ #: includes\admin/class-dlm-logging-list-table.php:189
880
+ msgid "Show All"
881
+ msgstr "显示所有"
882
+
883
+ #: includes/admin/class-dlm-logging-list-table.php:193
884
+ #: includes\admin/class-dlm-logging-list-table.php:193
885
+ msgid "Filter"
886
+ msgstr "过滤"
887
+
888
+ #: includes/admin/html-downloadable-file-version.php:3
889
+ #: includes\admin/html-downloadable-file-version.php:3
890
+ msgid "Remove"
891
+ msgstr "移除"
892
+
893
+ #: includes/admin/html-downloadable-file-version.php:4
894
+ #: includes\admin/html-downloadable-file-version.php:4
895
+ msgid "Click to toggle"
896
+ msgstr "单击切换"
897
+
898
+ #: includes/admin/html-downloadable-file-version.php:5
899
+ #: includes\admin/html-downloadable-file-version.php:5
900
+ #, php-format
901
+ msgid "Version <span class=\"version\">%s</span> (%s)"
902
+ msgstr "版本 <span class=\"version\">%s</span> (%s)"
903
+
904
+ #: includes/admin/html-downloadable-file-version.php:5
905
+ #: includes/admin/html-downloadable-file-version.php:14
906
+ #: includes\admin/html-downloadable-file-version.php:5
907
+ #: includes\admin/html-downloadable-file-version.php:14
908
+ msgid "n/a"
909
+ msgstr "未知"
910
+
911
+ #: includes/admin/html-downloadable-file-version.php:18
912
+ #: includes\admin/html-downloadable-file-version.php:18
913
+ msgid "File URL(s)"
914
+ msgstr "文件URL"
915
+
916
+ #: includes/admin/html-downloadable-file-version.php:19
917
+ #: includes\admin/html-downloadable-file-version.php:19
918
+ msgid ""
919
+ "Enter one file path/URL per line - multiple files will be used as mirrors "
920
+ "(chosen at random)."
921
+ msgstr "每行输入一个文件路径/URL - 多个文件将被作为镜像(随机选择)"
922
+
923
+ #: includes/admin/html-downloadable-file-version.php:24
924
+ #: includes\admin/html-downloadable-file-version.php:24
925
+ msgid "Upload file"
926
+ msgstr "上传文件"
927
+
928
+ #: includes/admin/html-downloadable-file-version.php:26
929
+ #: includes\admin/html-downloadable-file-version.php:26
930
+ msgid "Choose a file"
931
+ msgstr "选择文件"
932
+
933
+ #: includes/admin/html-downloadable-file-version.php:27
934
+ #: includes\admin/html-downloadable-file-version.php:27
935
+ msgid "Insert file URL"
936
+ msgstr "插入文件URL"
937
+
938
+ #: includes/admin/html-downloadable-file-version.php:31
939
+ #: includes\admin/html-downloadable-file-version.php:31
940
+ msgid "Browse for file"
941
+ msgstr "浏览文件"
942
+
943
+ #: includes/admin/html-downloadable-file-version.php:55
944
+ #: includes\admin/html-downloadable-file-version.php:55
945
+ msgid "File Date"
946
+ msgstr "文件日期"
947
+
948
+ #: includes/admin/html-downloadable-file-version.php:56
949
+ #: includes\admin/html-downloadable-file-version.php:56
950
+ msgid "h"
951
+ msgstr "h"
952
+
953
+ #: includes/admin/html-downloadable-file-version.php:56
954
+ #: includes\admin/html-downloadable-file-version.php:56
955
+ msgid "m"
956
+ msgstr "m"
957
+
958
+ #: includes/class-dlm-download-handler.php:124
959
+ msgid "Download does not exist."
960
+ msgstr "下载不存在"
961
+
962
+ #: includes/class-dlm-download-handler.php:124
963
+ #: includes/class-dlm-download-handler.php:153
964
+ #: includes/class-dlm-download-handler.php:158
965
+ #: includes/class-dlm-download-handler.php:167
966
+ #: includes/class-dlm-download-handler.php:261
967
+ msgid "Go to homepage &rarr;"
968
+ msgstr "转向主页 &rarr;"
969
+
970
+ #: includes/class-dlm-download-handler.php:124
971
+ #: includes/class-dlm-download-handler.php:153
972
+ #: includes/class-dlm-download-handler.php:158
973
+ #: includes/class-dlm-download-handler.php:167
974
+ #: includes/class-dlm-download-handler.php:261
975
+ msgid "Download Error"
976
+ msgstr "下载错误"
977
+
978
+ #: includes/class-dlm-download-handler.php:153
979
+ #: includes/class-dlm-download-handler.php:158
980
+ msgid "No file paths defined."
981
+ msgstr "没有定义文件路径"
982
+
983
+ #: includes/class-dlm-download-handler.php:167
984
+ msgid "You do not have permission to access this download."
985
+ msgstr "您无权访问此下载"
986
+
987
+ #: includes/class-dlm-download-handler.php:185
988
+ #: includes/class-dlm-download-handler.php:201
989
+ #: includes/class-dlm-download-handler.php:208
990
+ #: includes/class-dlm-download-handler.php:215
991
+ msgid "Redirected to file"
992
+ msgstr "重定向到文件"
993
+
994
+ #: includes/class-dlm-download-handler.php:254
995
+ msgid "Redirected to remote file."
996
+ msgstr "重定向到远程文件"
997
+
998
+ #: includes/class-dlm-download-handler.php:259
999
+ msgid "File not found"
1000
+ msgstr "文件没有找到"
1001
+
1002
+ #: includes/class-dlm-download-handler.php:261
1003
+ msgid "File not found."
1004
+ msgstr "文件没有找到"
1005
+
1006
+ #: includes/class-dlm-shortcodes.php:93 includes/class-dlm-shortcodes.php:125
1007
+ msgid "Download not found"
1008
+ msgstr "下载没有找到"
1009
+
1010
+ #: includes/widgets/class-dlm-widget-downloads.php:27
1011
+ #: includes\widgets/class-dlm-widget-downloads.php:27
1012
+ msgid "Display a list of your downloads."
1013
+ msgstr "显示您的下载列表"
1014
+
1015
+ #: includes/widgets/class-dlm-widget-downloads.php:29
1016
+ #: includes\widgets/class-dlm-widget-downloads.php:29
1017
+ msgid "Downloads List"
1018
+ msgstr "下载列表"
1019
+
1020
+ #: includes/widgets/class-dlm-widget-downloads.php:52
1021
+ #: includes/widgets/class-dlm-widget-downloads.php:148
1022
+ #: includes\widgets/class-dlm-widget-downloads.php:52
1023
+ #: includes\widgets/class-dlm-widget-downloads.php:148
1024
+ msgid "Featured Downloads"
1025
+ msgstr "特色下载"
1026
+
1027
+ #: includes/widgets/class-dlm-widget-downloads.php:157
1028
+ #: includes\widgets/class-dlm-widget-downloads.php:157
1029
+ msgid "Title:"
1030
+ msgstr "标题:"
1031
+
1032
+ #: includes/widgets/class-dlm-widget-downloads.php:161
1033
+ #: includes\widgets/class-dlm-widget-downloads.php:161
1034
+ msgid "Limit:"
1035
+ msgstr "限制:"
1036
+
1037
+ #: includes/widgets/class-dlm-widget-downloads.php:165
1038
+ #: includes\widgets/class-dlm-widget-downloads.php:165
1039
+ msgid "Output template:"
1040
+ msgstr "输出模板:"
1041
+
1042
+ #: includes/widgets/class-dlm-widget-downloads.php:166
1043
+ #: includes\widgets/class-dlm-widget-downloads.php:166
1044
+ msgid "Default template"
1045
+ msgstr "默认模板"
1046
+
1047
+ #: includes/widgets/class-dlm-widget-downloads.php:169
1048
+ #: includes\widgets/class-dlm-widget-downloads.php:169
1049
+ msgid "Order by:"
1050
+ msgstr "排序:"
1051
+
1052
+ #: includes/widgets/class-dlm-widget-downloads.php:172
1053
+ #: includes\widgets/class-dlm-widget-downloads.php:172
1054
+ msgid "Random"
1055
+ msgstr "随机"
1056
+
1057
+ #: includes/widgets/class-dlm-widget-downloads.php:174
1058
+ #: includes\widgets/class-dlm-widget-downloads.php:174
1059
+ msgid "Date added"
1060
+ msgstr "添加日期"
1061
+
1062
+ #: includes/widgets/class-dlm-widget-downloads.php:175
1063
+ #: includes\widgets/class-dlm-widget-downloads.php:175
1064
+ msgid "Date modified"
1065
+ msgstr "修改日期"
1066
+
1067
+ #: includes/widgets/class-dlm-widget-downloads.php:180
1068
+ #: includes\widgets/class-dlm-widget-downloads.php:180
1069
+ msgid "Order:"
1070
+ msgstr "排序:"
1071
+
1072
+ #: includes/widgets/class-dlm-widget-downloads.php:182
1073
+ #: includes\widgets/class-dlm-widget-downloads.php:182
1074
+ msgid "ASC"
1075
+ msgstr "升序"
1076
+
1077
+ #: includes/widgets/class-dlm-widget-downloads.php:183
1078
+ #: includes\widgets/class-dlm-widget-downloads.php:183
1079
+ msgid "DESC"
1080
+ msgstr "降序"
1081
+
1082
+ #: includes/widgets/class-dlm-widget-downloads.php:188
1083
+ #: includes\widgets/class-dlm-widget-downloads.php:188
1084
+ msgid "Show only featured downloads"
1085
+ msgstr "仅显示特色下载"
1086
+
1087
+ #: includes/widgets/class-dlm-widget-downloads.php:192
1088
+ #: includes\widgets/class-dlm-widget-downloads.php:192
1089
+ msgid "Show only members only downloads"
1090
+ msgstr "仅显示会员下载"
1091
+
1092
+ #: templates/content-download-box.php:20
1093
+ #: templates/content-download-filename.php:8
1094
+ #: templates/content-download-title.php:8 templates/content-download.php:8
1095
+ #, php-format
1096
+ msgid "Version %s"
1097
+ msgstr "版本 %s"
1098
+
1099
+ #: templates/content-download-box.php:21
1100
+ msgid "Download File"
1101
+ msgstr "下载文件"
1102
+
1103
+ #: templates/content-download-button.php:9
1104
+ #, php-format
1105
+ msgid "Download &ldquo;%s&rdquo;"
1106
+ msgstr "下载 &ldquo;%s&rdquo;"
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=mike.jol
4
  Tags: download, downloads, monitor, hits, download monitor, tracking, admin, count, counter, files, versions, download count, logging
5
  Requires at least: 3.8
6
  Tested up to: 3.8
7
- Stable tag: 1.4.2
8
  License: GPLv3
9
 
10
  Download Monitor is a plugin for uploading and managing downloads, tracking downloads, and displaying links.
@@ -108,6 +108,19 @@ Admin hits are not counted, log out and try!
108
 
109
  == Changelog ==
110
 
 
 
 
 
 
 
 
 
 
 
 
 
 
111
  = 1.4.2 =
112
  * Fix for site_url -> abspath
113
  * Check if hash functions are supported before use.
4
  Tags: download, downloads, monitor, hits, download monitor, tracking, admin, count, counter, files, versions, download count, logging
5
  Requires at least: 3.8
6
  Tested up to: 3.8
7
+ Stable tag: 1.4.3
8
  License: GPLv3
9
 
10
  Download Monitor is a plugin for uploading and managing downloads, tracking downloads, and displaying links.
108
 
109
  == Changelog ==
110
 
111
+ = 1.4.3 =
112
+ * Add password form to download page when required
113
+ * Run shortcodes in excerpt/short desc
114
+ * Various hook additions
115
+ * pr_br and zh_cn translation
116
+ * Sort download count by meta_value_num
117
+ * Store URLs in JSON format to allow easier search/replace
118
+ * Fix dashboard sorting
119
+ * Option for basic referer checking to prevent hotlinking.
120
+ * Only get file hashes on save as they are resource heavy.
121
+ * Disable remote file hash generation, but can be enabled with filter dlm_allow_remote_hash_file
122
+ * Radio buttons instead of select (with pagination) in popup to improve performance.
123
+
124
  = 1.4.2 =
125
  * Fix for site_url -> abspath
126
  * Check if hash functions are supported before use.